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

Python - Hạn chế Tuples theo tần suất giá trị của phần tử đầu tiên

Khi được yêu cầu hạn chế các bộ giá trị theo tần suất của giá trị của phần tử đầu tiên, điều kiện đơn giản 'nếu' cùng với phương thức lặp và 'nối thêm' được sử dụng.

Ví dụ

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

my_list = [(21, 24), (13, 42), (11, 23), (32, 43), (25, 56),(73, 84), (91, 40), (40, 83), (13, 27)]

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

my_key = 1

my_result = []
mems = dict()
for sub in my_list:

   if sub[0] not in mems.keys():
      mems[sub[0]] = 1
   else:
      mems[sub[0]] += 1
   if mems[sub[0]] <= my_key:
      my_result.append(sub)

print("The filtered tuples are :")
print(my_result)

Đầu ra

The list is :
[(21, 24), (13, 42), (11, 23), (32, 43), (25, 56), (73, 84), (91, 40), (40, 83), (13, 27)]
The filtered tuples are :
[(21, 24), (13, 42), (11, 23), (32, 43), (25, 56), (73, 84), (91, 40), (40, 83)]

Giải thích

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

  • Một giá trị số nguyên được gán cho 1.

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

  • Một từ điển trống được tạo.

  • Danh sách các tuple được lặp lại và nếu một phần tử không được tìm thấy trong giá trị khóa của từ điển, thì giá trị thứ 0 chỉ mục được gán cho 1.

  • Nếu không, nó sẽ tăng lên 1.

  • Nếu nó nhỏ hơn hoặc bằng khóa, phần tử sẽ được nối vào kết quả trống.

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