在学习 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)
任何人都可以解释一下吗?
答案 0 :(得分: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
接受了一个可迭代的。