Python – 将元组转换为元组对
有时,在处理Python元组记录时,我们可能会遇到需要将具有 3 个元素的单元组转换为对偶元组的问题。这是一个非常特殊的问题,但在日常编程和竞争性编程中可能会出现问题。让我们讨论可以执行此任务的某些方式。
Input : test_tuple = (‘A’, ‘B’, ‘C’)
Output : [(‘A’, ‘B’), (‘A’, ‘C’)]
Input : test_tuple = (‘X’, ‘Y’, ‘Z’)
Output : [(‘X’, ‘Y’), (‘X’, ‘Z’)]
方法 #1:使用product() + next()
上述功能的组合可以用来解决这个问题。在此,我们使用 product 进行配对,与下一个元素配对的选择是使用 nex() 完成的。
# Python3 code to demonstrate working of
# Convert Tuple to Tuple Pair
# Using product() + next()
from itertools import product
# initializing tuple
test_tuple = ('G', 'F', 'G')
# printing original tuple
print("The original tuple : " + str(test_tuple))
# Convert Tuple to Tuple Pair
# Using product() + next()
test_tuple = iter(test_tuple)
res = list(product(next(test_tuple), test_tuple))
# printing result
print("The paired records : " + str(res))
输出 :
The original tuple : ('G', 'F', 'G')
The paired records : [('G', 'F'), ('G', 'G')]
方法 #2:使用repeat() + zip() + next()
这个问题也可以通过上述功能的组合来解决。在此,我们使用 zip() 执行配对任务,并使用 repeat() 执行重复任务。
# Python3 code to demonstrate working of
# Convert Tuple to Tuple Pair
# Using repeat() + zip() + next()
from itertools import repeat
# initializing tuple
test_tuple = ('G', 'F', 'G')
# printing original tuple
print("The original tuple : " + str(test_tuple))
# Convert Tuple to Tuple Pair
# Using repeat() + zip() + next()
test_tuple = iter(test_tuple)
res = list(zip(repeat(next(test_tuple)), test_tuple))
# printing result
print("The paired records : " + str(res))
输出 :
The original tuple : ('G', 'F', 'G')
The paired records : [('G', 'F'), ('G', 'G')]