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