使用 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 次檢視

啟動你的 職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.