输入一个n*n个元素的一维列表将其转换为二维列表,要求列优先,也就是依次将每n个相邻元素构成一列将所有列中相同位置上的元素构成一个子列表再将这些子列表构成一个列表 输出时,每行打印一个子列表
时间: 2023-12-13 14:05:15 浏览: 25
可以使用循环遍历的方式将一维列表转换为二维列表,其中每个子列表表示一列。具体代码如下:
```python
def convert_to_2d_list(lst, n):
# 创建一个 n*n 的二维列表
res = [[0] * n for _ in range(n)]
# 遍历一维列表,将每 n 个元素构成一列
for i in range(n):
col = lst[i::n] # 从第 i 个元素开始,每隔 n 个取一个元素,构成一列
# 将该列中相同位置上的元素构成一个子列表
res[i] = [col[j] for j in range(n)]
return res
# 示例输入
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9]
n = 3
# 调用函数,将一维列表转换为二维列表
result = convert_to_2d_list(lst, n)
# 输出结果
for row in result:
print(row)
```
输出结果为:
```
[1, 4, 7]
[2, 5, 8]
[3, 6, 9]
```
其中,第一列由元素 1、4、7 构成,第二列由元素 2、5、8 构成,第三列由元素 3、6、9 构成。最后将每列中相同位置上的元素构成一个子列表,得到一个 3*3 的二维列表。
相关问题
输入一个n*n个元素的一维列表,将其转换为二维列表,要求列优先,也就是依次将每n个相邻元素构成一列,将所有列中相同位置上的元素构成一个子列表, 再将这些子列表构成一个列表 输出时,每行打印一个子列表
可以使用以下代码实现:
```python
def convert_to_2d_list(lst, n):
"""
将一维列表转换为二维列表,列优先
"""
# 列数
m = len(lst) // n
# 构造二维列表
res = [[] for _ in range(n)]
for i in range(n):
for j in range(m):
res[i].append(lst[j*n+i])
return res
# 示例输入
lst = [1,2,3,4,5,6,7,8,9]
n = 3
# 转换为二维列表
res = convert_to_2d_list(lst, n)
# 输出结果
for row in res:
print(row)
```
输出结果:
```
[1, 4, 7]
[2, 5, 8]
[3, 6, 9]
```
将M行N列的二维数组根据列的顺序依次放到一个字符串中
可以使用双重循环来遍历二维数组,并将每一列的元素依次添加到字符串中。具体实现如下(假设二维数组为arr):
```python
M, N = len(arr), len(arr[0]) # 获取行数和列数
s = '' # 定义一个空字符串,用于存储结果
for j in range(N): # 外层循环遍历所有列
for i in range(M): # 内层循环遍历当前列的所有行
s += str(arr[i][j]) # 将当前元素转换为字符串,并添加到结果字符串中
```
这样,最终得到的字符串s中就包含了二维数组中所有元素,按照列的顺序依次排列。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)