我有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
答案 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))