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

时间:2016-03-21 20:58:46

标签: python tuples

我有3个元组:

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

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

mary brown_eyes blond_hair
peter blue_eyes short_hair
james green_eyes dark_hair 

3 个答案:

答案 0 :(得分:5)

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

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)

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

print

然后,您可以使用print(*d) # mary brown_eyes blond_hair 打印其中的每一个并展开元组:

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

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

doStuff()

答案 1 :(得分:0)

只需使用循环和索引(为易于阅读的代码制作)

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

for i in range(len(a)):
    print a[i], b[i], c[i]

答案 2 :(得分:0)

解决方案是:

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

for element in zip(a, b, c):
    print(' '.join(element))