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

Python – Giới Hạn Tần Suất Phần Tử Trong Danh Sách


Khi cần giới hạn tần suất phần tử trong danh sách, dùng vòng lặp đơn giản kết hợp phương thức append.

Ví dụ

Minh họa dưới đây:

from collections import defaultdict
my_list = [11, 14, 15, 14, 11, 14, 14, 15, 15, 16]
print("Danh sách là:")
print(my_list)
my_dict = {14: 3, 11: 1, 16: 1, 15: 2}
print("Dictionary là:")
print(my_dict)
my_result = []
my_def_dict = defaultdict(int)
for element in my_list:
    my_def_dict[element] += 1
    if my_def_dict[element] > my_dict[element]:
        continue
    else:
        my_result.append(element)
print("Kết quả là:")
print(my_result)

Kết quả

Danh sách là: [11, 14, 15, 14, 11, 14, 14, 15, 15, 16]
Dictionary giới hạn: {14: 3, 11: 1, 16: 1, 15: 2}
Kết quả là: [11, 14, 15, 14, 14, 15, 16]

Giải thích

  • Import gói cần thiết vào môi trường.
  • Định nghĩa danh sách số nguyên và hiển thị ra console.
  • Định nghĩa dictionary và hiển thị ra console.
  • Định nghĩa danh sách rỗng.
  • Tạo defaultdict kiểu int.
  • Lặp qua danh sách gốc, tăng giá trị dictionary mặc định lên 1.
  • Tùy theo phần tử trong dictionary gốc và defaultdict lớn hơn hay không, dùng toán tử continue.
  • Sau đó, dùng append thêm phần tử vào danh sách rỗng.
  • Đây là đầu ra hiển thị trên console.