如何将多行长度相等但未知的多行字符串输入进一个二维字符数组?
时间: 2024-11-25 22:33:33 浏览: 6
C 字符串数组排序的小例子
为了将多行长度相等但未知的多行字符串输入到一个二维字符数组(矩阵)中,你可以按照以下步骤操作:
1. **预处理字符串**:假设你有一个由多行组成的字符串,比如每行都有相同数量的字符。可以先通过换行符`\n`分割这些行。
```python
# 示例字符串
multiline_string = "line1\nline2\nline3"
lines = multiline_string.split("\n") # 分割成多行列表
```
2. **确定数组大小**:由于知道每行的字符数相同,可以根据单行字符串的长度来计算二维数组的尺寸。这里我们假设每行有`row_length`个字符。
```python
row_length = len(lines[0]) # 获取一行的长度
rows_count = len(lines) # 行的数量
```
3. **创建二维数组**:使用列表推导式或直接初始化一个空的二维数组,然后填充字符串。
```python
# 列表推导式
char_array = [[' ' for _ in range(row_length)] for _ in range(rows_count)]
# 或者
char_array = []
for i in range(rows_count):
char_array.append([' ' for _ in range(row_length)])
# 填充字符串
for i, line in enumerate(lines):
for j, char in enumerate(line):
char_array[i][j] = char
```
4. **替换空格**:如果原始字符串中有非空字符,可以在填充时直接替换空格(`' '`):
```python
for i, line in enumerate(lines):
for j, char in enumerate(line):
if char != '\n':
char_array[i][j] = char
```
现在你已经有了一个与输入字符串行数和字符长度匹配的二维字符数组。例如:
```markdown
```python
char_array = [
['l', 'i', 'n', 'e'],
['1', ' ', ' ', ' '],
[' ', '2', ' ', ' '],
[' ', ' ', '3', ' ']
]
```
```
阅读全文