Computer >> Máy Tính >  >> Lập trình >> Python

Cập nhật danh sách các bộ giá trị bằng cách sử dụng một danh sách khác trong Python

Khi cần cập nhật một danh sách các tuple bằng cách sử dụng một danh sách khác, có thể sử dụng 'defaultdict'.

Mặc định là một vùng chứa tương tự như từ điển có trong mô-đun 'bộ sưu tập'. Nó là một lớp con của lớp 'dict'. Nó trả về một đối tượng giống như từ điển. 'Defaultdict' không làm tăng KeyError bao giờ. Nó cung cấp giá trị mặc định cho khóa không tồn tại.

Dưới đây là một minh chứng cho điều tương tự -

Ví dụ

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))

Đầu ra

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)]

Giải thích

  • Các thư viện bắt buộc đã được nhập.
  • Một phương thức có tên 'merge_vals' được xác định, có hai danh sách làm đối số. Một bản án mặc định đã được tạo.
  • Các phần tử trong danh sách được lặp lại và phần tử của danh sách đầu tiên được coi là chỉ mục và phần tử từ chỉ mục thứ hai được thêm vào từ điển.
  • Từ điển này được sắp xếp và trả về.
  • Hai danh sách các bộ giá trị được tạo và hiển thị trên bảng điều khiển.
  • Phương thức 'merge_vals' được gọi bằng cách chuyển hai danh sách các bộ giá trị này làm tham số.
  • Điều này được hiển thị trên bảng điều khiển dưới dạng đầu ra.