我想知道是否有更紧凑的方式在循环中追加到列表。例如,以下代码:
total = 0
for integer in range(1, 101):
total += integer
可以压缩成:
total = sum(integer for integer in range(1, 101))
所以,我的问题是是否有类似的方法来压缩以下代码:
alist = []
for integer in range(1, 101):
alist.append(integer)
你可以创建一个没有任何循环的列表,如果这正是你需要的:alist = list(range(1, 101))
。
这正是列表推导的内容。
alist = [integer for integer in range(1, 101)]
(虽然在这种特殊情况下,萨米的回答当然更好。)