ในบทความนี้ เราจะมาเรียนรู้วิธีค้นหาความถี่ขององค์ประกอบในรายการ เราสามารถแก้ปัญหาได้หลายวิธี มาดูกันเลย 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}
บทสรุป
หากคุณมีคำถามใดๆ ในบทความ โปรดระบุในส่วนความคิดเห็น