Python 是否有一种更紧凑的方法可以使用for循环附加到列表中?

Python 是否有一种更紧凑的方法可以使用for循环附加到列表中?,python,list,syntax,append,Python,List,Syntax,Append,我想知道在循环中是否有一种更紧凑的方式附加到列表中。例如,以下代码: total = 0 for integer in range(1, 101): total += integer alist = [] for integer in range(1, 101): alist.append(integer) 可压实成: total = sum(integer for integer in range(1, 101)) 因此,我的问题是,是否有类似的方法来压缩以下代码:

我想知道在循环中是否有一种更紧凑的方式附加到列表中。例如,以下代码:

total = 0

for integer in range(1, 101):
    total += integer
alist = []

for integer in range(1, 101):
    alist.append(integer)
可压实成:

total = sum(integer for integer in range(1, 101))
因此,我的问题是,是否有类似的方法来压缩以下代码:

total = 0

for integer in range(1, 101):
    total += integer
alist = []

for integer in range(1, 101):
    alist.append(integer)

如果这正是您需要的,您可以创建一个没有任何循环的列表:
alist=list(范围(1101))

这正是列表理解的含义

alist = [integer for integer in range(1, 101)]

(虽然在这种情况下,萨米的答案当然更好。)

是什么让萨米的答案更好?什么时候列表理解是更好的选择?