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

Count Occurrence of All List Elements ใน Tuple Python: นับสมาชิกลิสต์ที่อยู่ใน Tuple

ได้ Tuple และ List นับจำนวนรวมของสมาชิกใน List ที่ปรากฏใน Tuple (นับซ้ำได้)

วิธี 1: ใช้ Counter บน Tuple แล้ว Sum ตาม List


from collections import Counter
Atup = ('Mon', 'Wed', 'Mon', 'Tue', 'Thu')
Alist = ['Mon', 'Thu']
cnt = Counter(Atup)
res = sum(cnt[x] for x in Alist)
print(res)  # 3 (Mon=2, Thu=1)

วิธี 2: ใช้ sum() กับ Generator (แปลง List เป็น Set กันนับซ้ำ)


Atup = ('Mon', 'Wed', 'Mon', 'Tue', 'Thu')
Alist = ['Mon', 'Thu', 'Mon']
Alist = set(Alist)
res = sum(1 for x in Atup if x in Alist)
print(res)  # 3

สรุป

วิธี 1 ใช้เมื่อต้องการนับตามจำนวนใน List (ถ้า List มี 'Mon' 2 ครั้ง จะนับ 2×2=4) วิธี 2 ใช้ Set นับ Unique ต่อ Tuple