আমাদের একটি লিস্ট আছে যেসব উপাদান নমেরিক। অনেক উপাদান একাধিকবার উপস্থিত। আমরা চাই সাবলিস্ট তৈরি করা যাতে প্রতিটি উপাদানের ফ্রিকোয়েন্সি সাথে সাথে উপাদানটি থাকে।
ফর এবং অ্যাপেন্ডের সাথে
এই পদ্ধতিতে আমরা লিস্টের প্রতিটি উপাদানকে তার পরের সব উপাদানের সাথে কমপেয়ার করি। যদি ম্যাচ হয় তবে কাউন্ট ইনক্রিমেন্ট হবে এবং উপাদান ও কাউন্ট দিয়ে একটি সাবলিস্ট বানাবে। এমন লিস্ট বানাবে যাতে প্রতিটি উপাদান এবং এর ফ্রিকোয়েন্সি দেখানো সাবলিস্ট থাকে।
উদাহরণ
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]]
Counter ব্যবহার করে
আমরা collections মডিউলের Counter মেথড ব্যবহার করি। এটি লিস্টের প্রতিটি উপাদানের কাউন্ট দেবে। তারপর একটি নতুন খালি লিস্ট ডিক্লেয়ার করি এবং প্রতিটি আইটেমের কি-ভ্যালু জোড়া উপাদান এবং এর কাউন্ট আকারে নতুন লিস্টে যোগ করি।
উদাহরণ
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]]