如何在Python中使用二维列表遍历数据及创建指定二维列表?
Python二维列表的创建与遍历解决方法
一、创建目标二维列表
你需要的2行3列二维列表可以直接通过字面量定义,这是最直观的方式:
# 直接创建符合要求的二维列表 target_list = [ [3, 14, 67], [13, 24, 19] ]
如果想用循环生成(比如你原本尝试的方式),可以先准备好所有元素,再按行切片填充:
# 按顺序存储所有元素 data = [3, 14, 67, 13, 24, 19] new_list = [] # 循环生成2行 for i in range(2): # 每次取3个元素作为一行,添加到二维列表中 current_row = data[i*3 : (i+1)*3] new_list.append(current_row)
二、原代码的问题分析
你写的代码有几个明显错误:
new_list = []放在外层行循环里,导致每生成一行就清空一次列表,最后只会保留最后一行的内容append(a_list)中的a_list没有定义,而且就算定义了,也是重复添加同一个列表对象,不是你需要的目标数值- 没有正确填充你要的3、14这些具体数值,逻辑完全偏离需求
三、遍历二维列表的方法
方法1:直接遍历行和元素
这种方式最简洁,不需要关心索引:
for row in target_list: # 遍历当前行的每个元素,用制表符分隔 for num in row: print(num, end="\t") # 每行结束后换行 print()
方法2:通过索引遍历
如果需要用到行和列的索引,可以用这种方式:
# 遍历行索引 for row_idx in range(len(target_list)): # 遍历当前行的列索引 for col_idx in range(len(target_list[row_idx])): print(target_list[row_idx][col_idx], end="\t") print()
内容的提问来源于stack exchange,提问作者cabbage_corgi
相关产品推荐
相关产品推荐

