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

Sắp xếp tuple dựa trên số lần xuất hiện của phần tử đầu trong Python

Khi cần sắp xếp tuple dựa trên số lần xuất hiện của phần tử đầu, có thể dùng phương thức dict.fromkeys.

List lưu trữ giá trị đa dạng. List tuple chứa các tuple bên trong list.

Phương thức 'dict.fromkeys' trả về dictionary với key và giá trị cụ thể.

Minh họa:

Ví dụ

def sort_on_occurence(my_lst):
    my_dict = {}
    for i, j in my_lst:
        my_dict.setdefault(i, []).append(j)
    return [(i, *dict.fromkeys(j), len(j)) for i, j in my_dict.items()]

my_list = [(1, 'Harold'), (12, 'Jane'), (4, 'Paul'), (7, 'Will')]
print("List tuple là:")
print(my_list)
print("List sau sắp xếp theo xuất hiện:")
print(sort_on_occurence(my_list))

Đầu ra

List tuple là:
[(1, 'Harold'), (12, 'Jane'), (4, 'Paul'), (7, 'Will')]
List sau sắp xếp theo xuất hiện:
[(1, 'Harold', 1), (12, 'Jane', 1), (4, 'Paul', 1), (7, 'Will', 1)]

Giải thích

  • Định nghĩa phương thức 'sort_on_occurence' nhận list tuple.
  • Tạo dictionary mới.
  • Duyệt list tuple, set giá trị mặc định trong dictionary rỗng.
  • Định nghĩa list tuple, hiển thị.
  • Gọi hàm với list tuple trên.
  • Hiển thị đầu ra.