📜  Python|记录列表串联

📅  最后修改于: 2022-05-13 01:55:18.513000             🧑  作者: Mango

Python|记录列表串联

有时,在处理Python记录时,我们可能会遇到需要执行元组列表交叉连接的问题。这种应用程序在Web开发领域很流行。让我们讨论可以执行此任务的某些方式。

方法 #1:使用列表理解 + zip()
上述功能的组合可用于执行此特定任务。在此,我们使用列表推导遍历列表,并在 zip() 的帮助下执行跨列表的连接。

# Python3 code to demonstrate working of
# Records List Concatenation
# using list comprehension + zip()
  
# initialize lists
test_list1 = [("g", "f"), ("g", "is"), ("be", "st")]
test_list2 = [("fg", "g"), ("gf", "best"), ("st", " gfg")]
  
# printing original lists
print("The original list 1 : " + str(test_list1))
print("The original list 2 : " + str(test_list2))
  
# Records List Concatenation
# using list comprehension + zip()
res = [(x[0] + y[0], x[1] + y[1]) for x, y in zip(test_list1, test_list2)]
  
# printing result
print("The Concatenation across lists is : " + str(res))
输出 :
The original list 1 : [('g', 'f'), ('g', 'is'), ('be', 'st')]
The original list 2 : [('fg', 'g'), ('gf', 'best'), ('st', ' gfg')]
The Concatenation across lists is : [('gfg', 'fg'), ('ggf', 'isbest'), ('best', 'st gfg')]

方法 #2:使用join() + zip() + map()
这是执行此任务的另一种方式。这与上述方法类似,不同之处在于求和是由内置函数执行的,而对每个元素的逻辑扩展是由 map() 完成的。

# Python3 code to demonstrate working of
# Records List Concatenation
# using join() + zip() + map()
  
# initialize lists
test_list1 = [("g", "f"), ("g", "is"), ("be", "st")]
test_list2 = [("fg", "g"), ("gf", "best"), ("st", " gfg")]
  
# printing original lists
print("The original list 1 : " + str(test_list1))
print("The original list 2 : " + str(test_list2))
  
# Records List Concatenation
# using join() + zip() + map()
res = [tuple(map("".join, zip(a, b))) for a, b in zip(test_list1, test_list2)]
  
# printing result
print("The Concatenation across lists is : " + str(res))
输出 :
The original list 1 : [('g', 'f'), ('g', 'is'), ('be', 'st')]
The original list 2 : [('fg', 'g'), ('gf', 'best'), ('st', ' gfg')]
The Concatenation across lists is : [('gfg', 'fg'), ('ggf', 'isbest'), ('best', 'st gfg')]