当需要使用另一个列表更新元组列表时,可以使用“ defaultdict”。
Defaultdict是类似于“集合”模块中存在的词典的容器。它是“ dict”类的子类。它返回类似字典的对象。'defaultdict'永远不会引发KeyError。它提供了不存在的密钥的默认值。
以下是相同的演示-
from collections import defaultdict
def merge_vals(list_1, list_2):
my_dict = defaultdict(list)
for i, j in list_1 + list_2:
my_dict[i].append(j)
return sorted([(i, max(j)) for i, j in my_dict.items()],
key = lambda x:x[0])
my_list_1 = [('v', 1), ('q', 2), ('o', 0)]
my_list_2 = [('q', 5), ('o', 3)]
print("The first list of tuple is : ")
print(my_list_1)
print("The second list of tuple is : ")
print(my_list_2)
print("After merging, it becomes : ")
print(merge_vals(my_list_1, my_list_2))输出结果The first list of tuple is :
[('v', 1), ('q', 2), ('o', 0)]
The second list of tuple is :
[('q', 5), ('o', 3)]
After merging, it becomes :
[('o', 3), ('q', 5), ('v', 1)]所需的库已导入。
定义了一个名为“ merge_vals”的方法,该方法以两个列表作为参数。将创建一个defaultdict。
列表中的元素被迭代,第一个列表的元素被当作索引,第二个索引中的元素被追加到字典中。
该字典已排序并返回。
创建了两个元组列表,并将其显示在控制台上。
通过将这两个元组列表作为参数传递来调用“ merge_vals”方法。
这在控制台上显示为输出。