列为函数输入,语法怪异

2024-04-19 11:01:18 发布

您现在位置:Python中文网/ 问答频道 /正文

在学习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)

有人能解释一下吗?你知道吗


Tags: django方法代码in框架foroutput过程
1条回答
网友
1楼 · 发布于 2024-04-19 11:01:18
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接受iterable。你知道吗

相关问题 更多 >