เมื่อจำเป็นต้องจำกัดทูเพิลตามความถี่ของค่าขององค์ประกอบแรก จะใช้เงื่อนไข 'if' ง่ายๆ พร้อมกับวิธีการวนซ้ำและวิธี 'ผนวก'
ตัวอย่าง
ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน
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) ผลลัพธ์
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)]
คำอธิบาย
-
รายการของทูเพิลถูกกำหนดและแสดงบนคอนโซล
-
ค่าจำนวนเต็มถูกกำหนดให้เป็น 1
-
มีการกำหนดรายการที่ว่างเปล่า
-
พจนานุกรมว่างเปล่าถูกสร้างขึ้น
-
รายการทูเพิลถูกทำซ้ำ และหากไม่พบองค์ประกอบในค่าคีย์ของพจนานุกรม 0 th ดัชนีถูกกำหนดให้เป็น 1.
-
มิฉะนั้นจะเพิ่มขึ้น 1
-
หากมีค่าน้อยกว่าหรือเท่ากับคีย์ องค์ประกอบนั้นจะถูกผนวกเข้ากับผลลัพธ์ที่ว่างเปล่า
-
ผลลัพธ์นี้เป็นผลลัพธ์ที่แสดงบนคอนโซล