来自python中不同元组的元素联盟

dud*_*ubt 2 python tuples

我有3个元组:

a = ('mary', 'peter', 'james')
b = ('brown_eyes', 'blue_eyes', 'green-eyes')
c = ('blond_hair', 'short_hair', 'dark_hair')
Run Code Online (Sandbox Code Playgroud)

我需要加入每个元组的第一个元素,每个元组的第二个元素,第三个元素......为了打印这样的东西:

mary brown_eyes blond_hair
peter blue_eyes short_hair
james green_eyes dark_hair 
Run Code Online (Sandbox Code Playgroud)

Sue*_*ver 5

您可以使用zip为您执行此组合.它接受多个iterables并返回一个iterable,其中每个结果都包含来自每个输入的元素,就像您所描述的那样.

d,e,f = zip(a,b,c)
Run Code Online (Sandbox Code Playgroud)

以下是使用输入数据的完整示例:

a = ('mary', 'peter', 'james')
b = ('brown_eyes', 'blue_eyes', 'green-eyes')
c = ('blond_hair', 'short_hair', 'dark_hair')

d,e,f = zip(a,b,c)
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用print和扩展元组打印其中的每一个:

print(*d) # mary brown_eyes blond_hair
Run Code Online (Sandbox Code Playgroud)

如果您愿意,如果您不关心中间值并且只想打印组合,也可以在一行中执行此操作.

_ = [print(*item) for item in zip(a,b,c)]
# mary brown_eyes blond_hair
# peter blue_eyes short_hair
# james green-eyes dark_hair
Run Code Online (Sandbox Code Playgroud)