items = [ "Abby","Brenda","Cindy","Diddy" ]
for item in items:
print(item)
我用来为输出项编写这个语句。
有没有办法合并打印和循环。类似的东西:
print(item for item in items)
如果我错了,请纠正我!
答案 0 :(得分:8)
您可以使用argument unpacking operator *
(也称为“splat”运算符):
>>> items = [ "Abby","Brenda","Cindy","Diddy" ]
>>> print(*items, sep='\n')
Abby
Brenda
Cindy
Diddy
>>>
您还需要设置sep='\n'
,因为print
默认使用空格分隔参数。
为了完整起见,当你这样做时:
print(item for item in items)
它会在items
中的项目上创建generator,然后打印出来:
>>> items = [ "Abby","Brenda","Cindy","Diddy" ]
>>> print(item for item in items)
<generator object <genexpr> at 0x5ffffe02ee08>
>>>
如果你想在Python 2.x中使用它,你需要先从__future__
module导入print_function
:
>>> from __future__ import print_function
>>>
>>> items = [ "Abby","Brenda","Cindy","Diddy" ]
>>> print(*items, sep='\n')
Abby
Brenda
Cindy
Diddy
>>>
答案 1 :(得分:2)
您可以使用列表理解:
items = ["Abby", "Brenda", "Cindy", "Daddy"]
[print(item) for item in items]
和。 。 。你只需要在你的代码中添加两个字符!
这里有关于列表理解与生成器表达式的良好讨论:
Generator Expressions vs. List Comprehension
我认为要么有效。在这种情况下,genexp可能更有效,但listcomp更清楚地记录了您正在做的事情。