รายการที่กำหนดมีรายการซ้ำหลายรายการ เราสนใจที่จะหาผลรวมของความถี่ของรายการดังกล่าวที่ซ้ำกันในรายการ ด้านล่างนี้คือแนวทางที่เราสามารถทำได้
ด้วยผลรวม
เรามีสองรายการ หนึ่งมีรายการของค่าและอื่น ๆ มีค่าที่จะต้องตรวจสอบความถี่จากรายการแรก ดังนั้นเราจึงสร้าง for loop เพื่อนับจำนวนการเกิดขึ้นขององค์ประกอบจากรายการที่สองในรายการแรก จากนั้นใช้ฟังก์ชัน sum เพื่อรับผลรวมของความถี่สุดท้าย
ตัวอย่าง
chk_list= ['Mon', 'Tue'] big_list = ['Mon','Tue', 'Wed', 'Mon','Mon','Tue'] # Apply sum res = sum(big_list.count(elem) for elem in chk_list) # Printing output print("Given list to be analysed: \n", big_list) print("Given list to with values to be analysed:\n", chk_list) print("Sum of the frequency: ", res)
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
Given list to be analysed: ['Mon', 'Tue', 'Wed', 'Mon', 'Mon', 'Tue'] Given list to with values to be analysed: ['Mon', 'Tue'] Sum of the frequency: 5
พร้อมของสะสมเคาน์เตอร์
ฟังก์ชันตัวนับจากโมดูลคอลเลกชันสามารถรับผลลัพธ์ที่ต้องการได้โดยนำไปใช้กับรายการที่ต้องมีการวิเคราะห์ค่าในขณะที่วนลูปผ่านรายการที่เล็กกว่าซึ่งมีเฉพาะองค์ประกอบที่ต้องการสร้างความถี่
ตัวอย่าง
from collections import Counter chk_list= ['Mon', 'Tue'] big_list = ['Mon','Tue', 'Wed', 'Mon','Mon','Tue'] # Apply Counter res = sum(Counter(big_list)[x] for x in chk_list) # Printing output print("Given list to be analysed: \n", big_list) print("Given list to with values to be analysed:\n", chk_list) print("Sum of the frequency: ", res)
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
Given list to be analysed: ['Mon', 'Tue', 'Wed', 'Mon', 'Mon', 'Tue'] Given list to with values to be analysed: ['Mon', 'Tue'] Sum of the frequency: 5