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

Count Sublists Containing Given Element ใน List Python: นับสับลิสต์ที่มีค่าที่กำหนด

ได้ลิสต์ของสตริง (หรือสับลิสต์) และค่าที่ต้องการค้นหา นับจำนวนสับลิสต์ที่มีค่านั้น

วิธี 1: ใช้ for Loop กับ in

Alist = ['Mon', 'Wed', 'Mon', 'Tue', 'Thu']
target = 'Mon'
count = sum(1 for item in Alist if target in item)
print(count)  # 2

วิธี 2: ใช้ sum() กับ Generator (เทียบเท่า)

Alist = ['Mon', 'Wed', 'Mon', 'Tue', 'Thu']
target = 'Mon'
count = sum(target in item for item in Alist)
print(count)  # 2 (True=1, False=0)

วิธี 3: ใช้ Counter + chain (สำหรับหาในทุกระดับ)

from itertools import chain
from collections import Counter
Alist = ['Mon', 'Wed', 'Mon', 'Tue', 'Thu']
target = 'M'
cnt = Counter(chain.from_iterable(set(s) for s in Alist))[target]
print(cnt)  # 2

สรุป

วิธี 1-2 ใช้สำหรับลิสต์แบน (Flat List) วิธี 3 ใช้เมื่อสมาชิกเป็น Iterable (เช่น สตริงหรือลิสต์) และต้องการนับ Unique ต่อสับลิสต์