Python 列表解析
1. 简单列表解析 假设我们需要创建一个列表为:[0,0,0,0,0,0, 0,0,0, 0](size=10) 显然这样写0很费劲。所以有一种叫做列表解析的东西可以快速生成: >>> [0 for i in range(10)] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] # 还可以按序生成 >>> [i for i in range(10)] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 2. 带条件列表解析 假设我们需要创建一个列表:[0,2,0, 4, 0, 6, 0, 8, 0, 10] (size=10, 奇数为0,偶数不变) >>> [i+1 if i%2 == 1 else 0 for i in range(10)] [0, 2, 0, 4, 0, 6, 0, 8, 0, 10] note: 当条件子句在for前时必须带上else,此时else表示不符合if条件时列表元素的取值;当条件子句在for后时不能带上else。不然会报错! >>> [i+1 if i%2 == 1 for i in range(10)] File "<input>", line 1 [i+1 if i%2 == 1 for i in range(10)] # if在前面时,必须有else ^ SyntaxError: invalid syntax >>>