Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python - คีย์ที่ไม่ซ้ำนับสำหรับค่าใน Tuple List


เมื่อจำเป็นต้องนับค่าที่ไม่ซ้ำในรายการทูเปิล ตัวดำเนินการ 'defaultdict', 'set' และวิธีการ 'append' จะถูกใช้

ตัวอย่าง

ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน -

from collections import defaultdict

my_list = [(12, 32), (12, 21), (21, 32), (89, 21), (71, 21), (89, 11), (99, 10), (8, 23), (10, 23)]

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

my_result = defaultdict(list)

for element in my_list:
   my_result[element[1]].append(element[0])

my_result = dict(my_result)

result_dictionary = dict()

for key in my_result:
   result_dictionary[key] = len(list(set(my_result[key])))

print("The resultant list is :")
print(result_dictionary)

ผลลัพธ์

The list is :
[(12, 32), (12, 21), (21, 32), (89, 21), (71, 21), (89, 11), (99, 10), (8, 23), (10, 23)]
The resultant list is :
{32: 2, 21: 3, 11: 1, 10: 1, 23: 2}

คำอธิบาย

  • แพ็คเกจที่จำเป็นจะถูกนำเข้าสู่สภาพแวดล้อม

  • รายการทูเพิลถูกกำหนดและแสดงบนคอนโซล

  • พจนานุกรมว่างเปล่าถูกสร้างขึ้น

  • รายการมีการทำซ้ำ และองค์ประกอบที่สองและองค์ประกอบแรกจะถูกผนวกเข้ากับพจนานุกรม

  • รายการนี้ถูกแปลงเป็นพจนานุกรมอีกครั้ง

  • มีการสร้างพจนานุกรมเปล่าอีกอันขึ้น

  • รายการถูกทำซ้ำและได้องค์ประกอบที่ไม่ซ้ำโดยใช้ตัวดำเนินการ 'set'

  • มันถูกแปลงเป็นรายการและกำหนดความยาวให้กับตัวแปร

  • นี่คือเอาต์พุตที่แสดงบนคอนโซล