ในบทความนี้ เราจะมาเรียนรู้วิธีค้นหาความถี่ขององค์ประกอบในรายการ เราสามารถแก้ปัญหาได้หลายวิธี มาดูกันเลย 2 ตัว
ทำตามขั้นตอนด้านล่างเพื่อเขียนโค้ด
- เริ่มต้นรายการด้วยองค์ประกอบและพจนานุกรมเปล่า
- วนซ้ำรายการองค์ประกอบ
- ตรวจสอบว่าองค์ประกอบนั้นมีอยู่ในพจนานุกรมหรือไม่
- หากมีองค์ประกอบอยู่ในพจนานุกรมแล้ว ให้เพิ่มจำนวนขึ้น
- หากไม่มีองค์ประกอบในพจนานุกรม ให้เริ่มต้นการนับด้วย 1
- พิมพ์พจนานุกรม
ตัวอย่าง
มาดูโค้ดกันเลย
# initializing the list
random_list = ['A', 'A', 'B', 'C', 'B', 'D', 'D', 'A', 'B']
frequency = {}
# iterating over the list
for item in random_list:
# checking the element in dictionary
if item in frequency:
# incrementing the counr
frequency[item] += 1
else:
# initializing the count
frequency[item] = 1
# printing the frequency
print(frequency) หากคุณเรียกใช้โค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้
ผลลัพธ์
{'A': 3, 'B': 3, 'C': 1, 'D': 2}
ทำตามขั้นตอนด้านล่างเพื่อแก้ไขปัญหาด้วยวิธีอื่น เราจะใช้วิธีโมดูลเพื่อค้นหาความถี่ขององค์ประกอบ
- นำเข้าโมดูลคอลเลกชัน
- เริ่มต้นรายการด้วยองค์ประกอบ
- รับความถี่ขององค์ประกอบโดยใช้ตัวนับจากโมดูลคอลเลกชัน
- แปลงผลลัพธ์เป็นพจนานุกรมโดยใช้ dict และพิมพ์ความถี่
ตัวอย่าง
มาดูโค้ดกันเลย
# importing the module
import collections
# initializing the list
random_list = ['A', 'A', 'B', 'C', 'B', 'D', 'D', 'A', 'B']
# using Counter to find frequency of elements
frequency = collections.Counter(random_list)
# printing the frequency
print(dict(frequency))
{'A': 3, 'B': 3, 'C': 1, 'D': 2} หากคุณเรียกใช้โค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้
ผลลัพธ์
{'A': 3, 'B': 3, 'C': 1, 'D': 2}
บทสรุป
หากคุณมีคำถามใดๆ ในบทความ โปรดระบุในส่วนความคิดเห็น