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

Python - Hạn chế tần suất các phần tử trong danh sách

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

Ví dụ

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

from collections import defaultdict

my_list = [11, 14, 15,14, 11, 14, 14, 15, 15, 16]

print("The list is :")
print(my_list)

my_dict = {14 : 3, 11 : 1, 16 : 1, 15 : 2}

print("The dictionary is :")
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("The result is :")
print(my_result)

Đầu ra

The list is :
[11, 14, 15, 14, 11, 14, 14, 15, 15, 16]
The restrict dictionary is :
{14: 3, 11: 1, 16: 1, 15: 2}
The result is :
[11, 14, 15, 14, 14, 15, 16]

Giải thích

  • Các gói bắt buộc được nhập vào môi trường.

  • Danh sách các số nguyên được xác định và hiển thị trên bảng điều khiển.

  • Một từ điển được xác định và hiển thị trên bảng điều khiển.

  • Một danh sách trống được xác định.

  • Từ điển mặc định của số nguyên được xác định.

  • Danh sách ban đầu được lặp lại và các phần tử từ điển được tăng thêm 1.

  • Tùy thuộc vào việc phần tử trong từ điển gốc và từ điển mặc định có lớn hơn hay không, toán tử "continue" được sử dụng.

  • Sau đó, phương thức ‘append’ được sử dụng để thêm phần tử vào danh sách trống.

  • Đây là đầu ra được hiển thị trên bảng điều khiển.