使用 Python 中的另一个列表更新元组列表


当需要使用另一个列表更新元组列表时,可以使用“defaultdict”。

Defaultdict 是一种类似于字典的容器,存在于“collections”模块中。它是“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”方法。
  • 这在控制台上显示为输出。

更新于: 2021年3月13日

227 次查看

启动你的 职业生涯

通过完成课程获得认证

开始
广告