हमारे पास एक सूची है जिसके तत्व संख्यात्मक हैं। कई तत्व कई बार मौजूद हैं। हम उपसूची बनाना चाहते हैं ताकि प्रत्येक तत्व की आवृत्ति तत्व के साथ ही हो।
फॉर और अपेंड के साथ
इस दृष्टिकोण में हम सूची में प्रत्येक तत्व की तुलना उसके बाद के हर दूसरे तत्व से करेंगे। यदि मेल खाता है तो काउंट बढ़ाया जाएगा और दोनों तत्व और काउंट को एक उपसूची में बनाया जाएगा। एक सूची बनाई जाएगी जिसमें प्रत्येक तत्व और उसकी आवृत्ति दिखाने वाली उपसूचियां होंगी।
उदाहरण
def occurrences(list_in):
for i in range(0, len(listA)):
a = 0
row = []
if i not in listB:
for j in range(0, len(listA)):
# दोनों स्थितियों से मिलान करने वाले आइटम
if listA[i] == listA[j]:
a = a + 1
row.append(listA[i])
row.append(a)
listB.append(row)
# दोहराव वाली सूची आइटम को हटाएं
for j in listB:
if j not in list_uniq:
list_uniq.append(j)
return list_uniq
# कॉलर कोड
listA = [13, 65, 78, 13, 12, 13, 65]
listB = []
list_uniq = []
print("Number of occurrences of each element in the list:\n")
print(occurrences(listA))
आउटपुट
उपरोक्त कोड चलाने पर हमें निम्न परिणाम मिलता है -
Number of occurrences of each element in the list: [[13, 3], [65, 2], [78, 1], [12, 1]]
काउंटर के साथ
हम कलेक्शन मॉड्यूल से काउंटर मेथड का उपयोग करते हैं। यह सूची में प्रत्येक तत्व की गिनती देगा। फिर हम एक नई खाली सूची घोषित करते हैं और प्रत्येक आइटम के लिए की-वैल्यू जोड़ी को तत्व और उसकी गिनती के रूप में नई सूची में जोड़ते हैं।
उदाहरण
from collections import Counter
def occurrences(list_in):
c = Counter(listA)
new_list = []
for k, v in c.items():
new_list.append([k, v])
return new_list
listA = [13, 65, 78, 13, 12, 13, 65]
print("Number of occurrences of each element in the list:\n")
print(occurrences(listA))
आउटपुट
उपरोक्त कोड चलाने पर हमें निम्न परिणाम मिलता है -
Number of occurrences of each element in the list: [[13, 3], [65, 2], [78, 1], [12, 1]]