Python–将元组转换为元组对
原文:https://www . geesforgeks . org/python-convert-tuple-to-tuple-pair/
有时,在处理 Python Tuple 记录时,我们可能会遇到一个问题,即我们需要将具有 3 个元素的单元组转换为双元组对。这是一个相当特殊的问题,但在日常编程和竞争性编程中可能会有问题。让我们讨论执行这项任务的某些方法。
输入 : test_tuple = ('A ',' B ',' C') 输出 : [('A ',' B ',(' A ',' C')]
输入 : test_tuple = ('X ',' Y ',' Z') 输出 : [('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))
Output :
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))
Output :
The original tuple : ('G', 'F', 'G')
The paired records : [('G', 'F'), ('G', 'G')]
版权属于:月萌API www.moonapi.com,转载请注明出处