代码如下:
#encoding=utf-8 print '中国' #在不适用引用的时候,创建列表的列表 print '使用列表推导' #创建5*2 的全为0的阵列 mulist=[[0 for col in range(5)] for row in range(2)] print mulist mulist[1][1]='bad way' print mulist #不好的方式,错的方式 mulist2=[[0]*5]*2 #因为只是原来列表的多次重复,所以一次修改会引起多次修改 引用5次【0】 对第一次的【0】*5引用2次 print mulist2 mulist2[1][1]='bad way' print mulist2 #最快而且正确的方式 mulist3=[[0] * 5 for row in range(2)] mulist3[0][0]='bad way' print mulist3
打印结果如下:
中国
使用列表推导
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
[[0, 0, 0, 0, 0], [0, 'bad way', 0, 0, 0]]
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
[[0, 'bad way', 0, 0, 0], [0, 'bad way', 0, 0, 0]]
[['bad way', 0, 0, 0, 0], [0, 0, 0, 0, 0]]