📜  Python – 连接元组列表中的第 K 个元素

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

Python – 连接元组列表中的第 K 个元素

在使用元组时,我们将不同的数据存储为不同的元组元素。有时,需要从元组中打印特定信息。例如,一段代码只希望以串联格式打印所有学生数据的名称。让我们讨论一些如何解决这个问题的方法。

方法 #1:使用列表理解 + join()
列表推导是解决此问题的最简单方法。我们可以只遍历所有索引中的特定索引值并将其存储在一个列表中,然后使用 join() 将其连接起来。

# Python3 code to demonstrate 
# Concatenating Kth element in Tuple List
# using list comprehension 
  
# initializing list of tuples
test_list = [(1, 'Rash', 21), (2, 'Varsha', 20), (3, 'Kil', 19)]
  
# printing original list 
print ("The original list is : " + str(test_list))
  
# initializing K 
K = 1
  
# using list comprehension + join() to concatenate names
res = " ".join([lis[K] for lis in test_list])
      
# printing result
print ("String with only Kth tuple element (i.e names) concatenated : " + str(res))
输出 :
The original list is : [(1, 'Rash', 21), (2, 'Varsha', 20), (3, 'Kil', 19)]
String with only Kth tuple element (i.e names) concatenated : Rash Varsha Kil

方法 #2:使用map() + itemgetter() + join()
map() 与 itemgetter() 结合可以以更简单的方式执行此任务。 map() 映射我们使用 itemgetter() 访问的所有元素并返回结果。使用 join() 执行连接任务。

# Python3 code to demonstrate 
# Concatenating Kth element in Tuple List
# using map() + itergetter() + join()
from operator import itemgetter
  
# initializing list of tuples
test_list = [(1, 'Rash', 21), (2, 'Varsha', 20), (3, 'Kil', 19)]
  
# printing original list 
print ("The original list is : " + str(test_list))
  
# initializing K 
K = 1 
  
# using map() + itergetter() + join() to get names
res = " ".join(list(map(itemgetter(K), test_list)))
      
# printing result
print ("String with only nth tuple element (i.e names) concatenated : " + str(res))
输出 :
The original list is : [(1, 'Rash', 21), (2, 'Varsha', 20), (3, 'Kil', 19)]
String with only Kth tuple element (i.e names) concatenated : Rash Varsha Kil