Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cập nhật list tuple sử dụng list khác trong Python

Khi cần cập nhật list tuple bằng list khác, có thể dùng 'defaultdict'.

Defaultdict là container tương tự dictionary trong module 'collections'. Là sub-class của 'dict'. Trả về đối tượng giống dictionary. 'defaultdict' không bao giờ raise KeyError. Cung cấp giá trị mặc định cho key không tồn tại.

Minh họa:

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("List tuple đầu tiên: ")
print(my_list_1)
print("List tuple thứ hai: ")
print(my_list_2)
print("Sau khi gộp, trở thành: ")
print(merge_vals(my_list_1, my_list_2))

Đầu ra

List tuple đầu tiên:
[('v', 1), ('q', 2), ('o', 0)]
List tuple thứ hai:
[('q', 5), ('o', 3)]
Sau khi gộp, trở thành:
[('o', 3), ('q', 5), ('v', 1)]

Giải thích

  • Nhập thư viện cần thiết.
  • Định nghĩa phương thức 'merge_vals' nhận hai list làm tham số. Tạo defaultdict.
  • Duyệt các phần tử trong list, lấy phần tử list đầu làm index, phần tử list hai append vào dictionary.
  • Sắp xếp dictionary và trả về.
  • Tạo hai list tuple, hiển thị.
  • Gọi 'merge_vals' với hai list tuple.
  • Hiển thị kết quả.