很多初学者都很奇怪下面的语句:
nums = [1, 2, 6, 5, 3, 4]
print([i * 2 for i in nums])
输出为:[2, 4, 12, 10, 6, 8]
即使能看懂,似乎还觉得有点奇怪:)这其实是一种推导式写法,说简单些,就是一种简化的写法。它的功能就是将每个列表元素乘以2再得到一个新的列表。我们不妨来看看,如果不这样写,传统写法为:
nums = [1, 2, 6, 5, 3, 4]
result = []
for i in nums:
result.append(i * 2)
print(result)
虽然可以,但是有点麻烦。因此,推导式写法可以帮助我们快速的进行列表遍历,并处理每个元素,再形成一个结果列表。
再如,取出二维列表的第二个元素形成新列表:
nums = [[1, 2, 6], [5, 3, 4]]
print([i[1] for i in nums])
输出为:[2, 3]