创建一个m行,n列的二维列表:
dp = [[0]*n for _ in range(m)]
运行结果(n = 3, m = 4):
[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]
注1:单下划线 _ 的含义
用作临时的变量名称 (此处的用法)
Python REPL中的一个特殊变量,它表示由解释器评估的最近一个表达式的结果。
举例:
>>> 27
27
>>>_27
>>> _+5
32
>>>_32
>>> {1:'a', 2:'b'}
{1: 'a', 2: 'b'}>>>_
{1: 'a', 2: 'b'}>>> _[3] = 'c'
>>>_
{1: 'a', 2: 'b', 3: 'c'}
无意义的变量名称
举例:
car = ('red', 'auto', 12, 3812.4)>>> color, _, _, mileage = car
此时我只需要car的颜色和里程。故另外两项可以用_代替
注2:还有一种创建二维列表的方法:
dp = [[0]*3]*4
运行结果一致,不过这种方法用的是列表的引用,也就是在赋值的时候会出现以下问题
>>> dp[0][1] = 1
>>>dp
[[0,1, 0], [0, 1, 0], [0, 1, 0], [0, 1, 0]]