从两个元组python3创建单个元组

时间:2018-11-29 01:08:13

标签: python

我是python的新手,想从两个元组创建一个元组,以便保持两个元组的顺序,例如结果应为:

final_tup =  ((75, 57), (77, 6), (55, 64), (93, 36), (41, 63), (62, 53), (70, 26), (30, 71), (74, 88), (97, 66))

x = (75, 77, 55, 93, 41, 62, 70, 30, 74, 97)
y = (57, 6, 64, 36, 63, 53, 26, 71, 88, 66)

我快到了,但是我似乎无法把最后的元组弄出来。我有:

tup = zip()
x = (75, 77, 55, 93, 41, 62, 70, 30, 74, 97)
y = (57, 6, 64, 36, 63, 53, 26, 71, 88, 66)
lx = list(x)
ly = list(y)
tup = zip(lx, ly)
for value in tup:
    print(value)

另外,我敢肯定python中有一种更优雅的方法,而不必转换为列表

1 个答案:

答案 0 :(得分:3)

实际上,您非常接近。试试这个:

final_tuple = tuple(zip(x,y))
Out[3]: 
((75, 57),
 (77, 6),
 (55, 64),
 (93, 36),
 (41, 63),
 (62, 53),
 (70, 26),
 (30, 71),
 (74, 88),
 (97, 66))

说明:

zip方法可以采用任何可迭代的参数,包括元组,因此您不必首先将其设为列表。它返回一个压缩的元组的迭代器,为了获取元组的元组,您必须在该迭代器上使用tuple方法。