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

นับรายการย่อยที่มีองค์ประกอบที่กำหนดในรายการใน Python


องค์ประกอบในรายการที่กำหนดยังสามารถแสดงเป็นสตริงอื่นในตัวแปรอื่นได้ ในบทความนี้ เราจะดูว่าสตรีมหนึ่งๆ มีอยู่ในรายการที่กำหนดกี่ครั้ง

มีระยะและเลน

เราใช้ฟังก์ชัน range และ len เพื่อติดตามความยาวของรายการ จากนั้นใช้ in condition เพื่อค้นหาจำนวนครั้งที่สตริงปรากฏเป็นองค์ประกอบในรายการ ตัวแปรการนับเริ่มต้นเป็นศูนย์จะเพิ่มขึ้นเรื่อยๆ เมื่อใดก็ตามที่ตรงตามเงื่อนไข

ตัวอย่าง

Alist = ['Mon', 'Wed', 'Mon', 'Tue', 'Thu']
Bstring = 'Mon'

# Given list
print("Given list:\n", Alist)
print("String to check:\n", Bstring)
count = 0
for i in range(len(Alist)):
   if Bstring in Alist[i]:
      count += 1
print("Number of times the string is present in the list:\n",count)

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Given list:
['Mon', 'Wed', 'Mon', 'Tue', 'Thu']
String to check:
Mon
Number of times the string is present in the list:
2

ด้วยผลรวม

เราใช้ to ในเงื่อนไขเพื่อจับคู่สตริงเป็นองค์ประกอบในรายการที่กำหนด และสุดท้ายใช้ฟังก์ชัน sum เพื่อรับการนับเมื่อใดก็ตามที่เงื่อนไขการจับคู่เป็นบวก

ตัวอย่าง

Alist = ['Mon', 'Wed', 'Mon', 'Tue', 'Thu']
Bstring = 'Mon'
# Given list
print("Given list:\n", Alist)
print("String to check:\n", Bstring)
count = sum(Bstring in item for item in Alist)
print("Number of times the string is present in the list:\n",count)

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Given list:
['Mon', 'Wed', 'Mon', 'Tue', 'Thu']
String to check:
Mon
Number of times the string is present in the list:
2

มีเคาน์เตอร์และโซ่

โมดูล itertools และ collecitons ให้บริการฟังก์ชันลูกโซ่และตัวนับ ซึ่งสามารถใช้เพื่อนับองค์ประกอบทั้งหมดของรายการที่ตรงกับสตริง

ตัวอย่าง

from itertools import chain
from collections import Counter
Alist = ['Mon', 'Wed', 'Mon', 'Tue', 'Thu']
Bstring = 'M'
# Given list
print("Given list:\n", Alist)
print("String to check:\n", Bstring)
cnt = Counter(chain.from_iterable(set(i) for i in Alist))['M']
print("Number of times the string is present in the list:\n",cnt)

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Given list:
['Mon', 'Wed', 'Mon', 'Tue', 'Thu']
String to check:
M
Number of times the string is present in the list:
2