Python|将列表转换为列元组
有时,在处理数据时,我们可能会遇到需要在单个容器中获取相似索引元素的问题。这意味着 Matrix/Multiple 列表的列需要转换为元组列表,每个元组都包含相似的索引元素。让我们讨论一下可以完成此任务的某些方法。
方法 #1:使用zip()
+ 列表理解
上述功能的组合可以共同完成这一特定任务。在此,我们使用 zip() 将相似的索引元素组合到列中,并将所有元组绑定到一个列表中,并通过列表推导执行字典列表的迭代。
# Python3 code to demonstrate working of
# Convert Lists to column tuples
# using zip() + list comprehension
# initialize dictionary
test_dict = {'list1' : [1, 4, 5],
'list2' : [6, 7, 4],
'list3' : [9, 1, 11]}
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
# Convert Lists to column tuples
# using zip() + list comprehension
res = list(zip(*(test_dict[key] for key in test_dict.keys())))
# printing result
print("Like index column tuples are : " + str(res))
输出 :
The original dictionary is : {‘list3’: [9, 1, 11], ‘list2’: [6, 7, 4], ‘list1’: [1, 4, 5]}
Like index column tuples are : [(9, 6, 1), (1, 7, 4), (11, 4, 5)]
方法 #2:使用zip() + values()
上述功能的组合可用于执行此任务。在此,我们使用values()
访问字典值的值,并且可以使用zip()
完成聚合列。
# Python3 code to demonstrate working of
# Convert Lists to column tuples
# using zip() + values()
# initialize dictionary
test_dict = {'list1' : [1, 4, 5],
'list2' : [6, 7, 4],
'list3' : [9, 1, 11]}
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
# Convert Lists to column tuples
# using zip() + values()
res = list(zip(*test_dict.values()))
# printing result
print("Like index column tuples are : " + str(res))
输出 :
The original dictionary is : {‘list3’: [9, 1, 11], ‘list2’: [6, 7, 4], ‘list1’: [1, 4, 5]}
Like index column tuples are : [(9, 6, 1), (1, 7, 4), (11, 4, 5)]