如何在Python中创建二维列表?
创建一个N×M的二维列表并赋值。
第一种方法:
第一步,创建一个包含N个空列表的一维列表:
list1 = [ [] for I in rang(N)]
第二步,在每一个空列表中,创建一个包含M个空列表的二维列表:
list1 = [[[] for i in rang(M)] for i in rang(N)]
至此,一个N×M的二维列表创建完毕。
需要说明的是,上述创建的二维列表中,列表元素仍为列表‘[]’;如果想使列表元素变为数值型数据(Numbers),将最里层的列表‘[]’设置为‘0.0’,即可:
list1 = [[0.0 for i in rang(M)] for i in rang(N)]。
如需要字符型数据类型(String),也是如上操作。
第二种方法:
第一步,现创建一个包含N 个空列表的一维列表:
list2 = [[] for I in rang(N)]
第二步,使用append()方法,在每一个空列表中添加M个空列表:
for i in rang(N):
for j in rang(M):
list2[I].append([])
至此,一个N×M的二维列表创建完毕。
需要说明的是,上述创建的二维列表中,列表元素仍为列表‘[]’;如果想使列表元素变为数值型数据(Numbers),在第二次使用append()方法时,添加的元素设置为‘0.0’,即可:
list2[I].append(0.0)
实例:
import random weight1 = [[] for i in range(10)] for i in range(10): for j in range(5): weight1[i].append(10.0 * (2.0 * random.random() - 1.0)) print weight1 weight2 = [[0.0 for j in range(5)] for i in range(10)] for i in range(10): for j in range(5): weight2[i][j] = 10.0 * (2.0 * random.random() - 1.0) print weight2
以上两个实例分别用上述两种方法,创建了一个10×5的二维列表。
注:上述代码在PyCharm中运行正确。