python创建一个二维列表

方法一:利用for-in语句来生成一个二维列表

a = [] 
  2 for i in range(10):                            
  3     a.append([])                               
  4     for j in range(10):                        
  5         a[i].append(0)                         
  6        
  7 print(a)                                       
  8 a[0][1] = 1                                    
  9 print(a)          

运行结果

[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0,

0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0,

0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0

, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0,

0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]

[[0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0,

0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0,

0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0

, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0,

0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]

代码解析

第一次循环是创建10行的空列表,第二个循环是在每行的空列表中添加10个数据,也就是添加10列使其成为10x10的二维列表

方法二:for语句

b = [[0 for i in range(10)] for i in range(10)]                    
print(b)

运行结果:

[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0,

0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0,

0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0

, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0,

0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]

代码解析:

for语句前的表达式是循环体,这个知识点可能大家都没太过于注意。

[0 for i in range(10)]

这部分语句是为了生成一个1x10的一维列表,再对后面的可迭代对象进行迭代,最终生成了一个10x10的二维列表