0

在学习Django框架基础知识的过程中,我发现了以下代码。我知道join()方法是如何工作的,但坦率地说,我不知道里面是什么。

output = ', '.join([p.question for p in latest_poll_list])

当然结果对我来说很清楚,但我宁愿这样用

array = []
for p in latest_poll_list:
    array.append(p.question)
output = ', '.join(array)

谁能解释一下?

4

1 回答 1

1
array = [p.question for p in latest_poll_list]

是一个列表理解。它相当于:

array = []
for p in latest_poll_list:
    array.append(p.question)

因此,您发布的代码将执行完全相同的操作。列表推导式只是创建带有for循环的列表的一种更紧凑的方式。


仅供参考,您实际上不需要创建列表,

output = ', '.join(p.question for p in latest_poll_list)

也应该工作,因为join需要一个可迭代的。

于 2013-07-31T15:23:36.423 回答