python解包for循环

时间:2015-05-30 17:41:38

标签: python python-2.7

我使用的是Python 2.7,我的代码中只有一个简单的问题

from sys import argv
script, first, second, third = [argv, "bike","car","lemon"]

我知道我可以说

print(script)

print(first)

它将在一条线上打印 但是有没有办法在for循环中打印它,每个值都有 我知道逻辑会像

for x,y in ?:
print(y)

由于这个价值的论点没有被命名,所以我不知道在我的问号中要放什么。

2 个答案:

答案 0 :(得分:4)

您可以简单地创建一个statusOverlayClose个对象迭代它并打印当前元素。

BasketStore

但是,如果要打印同一行中的所有对象,则可以在print语句后使用tuple/list逗号:

for element in (script, first, second, third):
    print element

>>> obj1
    obj2
    ...

答案 1 :(得分:2)

如果您只想打印列表中的元素,则可以使用连接:

 print "\n".join(["argv", "bike","car","lemon"])
 argv
 bike
 car
 lemon

如果你想打印解压缩的元素,只需将它们放在列表或元组中并执行相同操作,但如果你没有在任何无意义的地方使用变量。

或导入print_function

from __future__ import print_function
print(*["argv", "bike", "car", "lemon"],sep="\n")
argv
bike
car
lemon

你可以传递你想要的任何分隔符或者根本不传递任何分隔符,并且每个元素将打印在同一行上,并且之间有空格:

print(*["argv", "bike", "car", "lemon"])
argv bike car lemon

要解压缩循环中的所有元素,元素必须位于列表中的容器中:

for a, b, c, d in [("argv", "bike", "car", "lemon")]:
    print(a, b, c, d)