【发布时间】:2016-10-20 05:43:39
【问题描述】:
与:
A = [7, 15, 21]
print [i, i+1, i+2 for i in A]
我想得到[7, 8, 9, 15, 16, 17, 21, 22, 23]。
当然这样不行,[[i, i+1, i+2] for i in A] 给了[[7, 8, 9], [15, 16, 17], [21, 22, 23]] 这不是我想要的。
pythonic 的方法是什么?
【问题讨论】:
与:
A = [7, 15, 21]
print [i, i+1, i+2 for i in A]
我想得到[7, 8, 9, 15, 16, 17, 21, 22, 23]。
当然这样不行,[[i, i+1, i+2] for i in A] 给了[[7, 8, 9], [15, 16, 17], [21, 22, 23]] 这不是我想要的。
pythonic 的方法是什么?
【问题讨论】:
您可以在列表理解中使用双循环:
A = [7, 15, 21]
B = [b for i in A for b in (i, i + 1, i + 2)]
# [7, 8, 9, 15, 16, 17, 21, 22, 23]
【讨论】: