Python|将列表元素转换为双元组
有时,在使用Python列表时,我们可能会遇到一个子问题,我们需要将特定元素与每个列表元素联系起来。在使用查询和过滤器时,此任务可以在 Web 开发领域发挥作用。让我们讨论解决这个问题的方法。
方法:使用zip() + repeat()
这个问题可以使用zip()
来解决,它可以使用repeat()
来附加到每个列表元素上。
# Python3 code to demonstrate working of
# Convert list elements to bi-tuples
# using zip() + repeat()
from itertools import repeat
# initialize list
test_list = [5, 6, 7, 8, 4, 3]
# printing original list
print("The original list is : " + str(test_list))
# initialize attach element
ele = 'gfg'
# Convert list elements to bi-tuples
# using zip() + repeat()
res = list(zip(test_list, repeat(ele)))
# printing result
print("Tuple list after attaching element : " + str(res))
输出 :
The original list is : [5, 6, 7, 8, 4, 3]
Tuple list after attaching element : [(5, ‘gfg’), (6, ‘gfg’), (7, ‘gfg’), (8, ‘gfg’), (4, ‘gfg’), (3, ‘gfg’)]
方法 #2:使用map()
+ lambda
这是可以执行此任务的另一种方式。在此,我们只是将使用 map() 将元素添加到列表元素的逻辑扩展到所有元素,通过向其提供 lambda函数来执行计算任务。
# Python3 code to demonstrate working of
# Convert list elements to bi-tuples
# using map() + lambda
from itertools import repeat
# initialize list
test_list = [5, 6, 7, 8, 4, 3]
# printing original list
print("The original list is : " + str(test_list))
# initialize attach element
ele = 'gfg'
# Convert list elements to bi-tuples
# using map() + lambda
res = list(map(lambda key : (key, ele), test_list))
# printing result
print("Tuple list after attaching element : " + str(res))
输出 :
The original list is : [5, 6, 7, 8, 4, 3]
Tuple list after attaching element : [(5, ‘gfg’), (6, ‘gfg’), (7, ‘gfg’), (8, ‘gfg’), (4, ‘gfg’), (3, ‘gfg’)]