چگونه می‌توان با پایتون تعداد تکرار یک عنصر در لیست را بشمارم؟

mohsen1 سال قبل
ارسال شده در
python

برای شمارش تعداد تکرار یک عنصر خاص در یک لیست در زبان برنامه‌نویسی پایتون، می‌توان از روش‌های مختلفی استفاده کرد. روش مستقیم و ساده برای شمارش یک عنصر خاص، استفاده از متد count است. به عنوان مثال:

      >>> my_list = [1, 2, 3, 4, 1, 4, 1]
>>> my_list.count(1)
3

    

اگرچه این روش برای شمارش تعداد تکرار یک عنصر خاص مناسب است، اما اگر بخواهید تعداد تکرار چندین عنصر مختلف را بشمارید، کارایی این روش به شدت کاهش می‌یابد. استفاده از count برای هر عنصر به طور جداگانه به زمان اجرا O(n^2) منجر می‌شود، زیرا هر بار که count فراخوانی می‌شود، باید کل لیست را پیمایش کند.

بنابراین، برای شمارش تعداد تکرار هر عنصر در یک لیست، روش بهتری وجود دارد: استفاده از کلاس Counter از کتابخانه collections. این روش به طور کلی با زمان اجرا O(n) کار می‌کند، به این معنی که برای لیست‌های بزرگ‌تر بسیار سریع‌تر است:

      from collections import Counter
my_list = ['blue', 'red', 'blue', 'yellow', 'blue', 'red']
counter_result = Counter(my_list)
print(counter_result)

    

خروجی به صورت زیر خواهد بود:

      Counter({'blue': 3, 'red': 2, 'yellow': 1})

    
رای
0
ارسال نظر
مرتب سازی:
اولین نفری باشید که نظر می دهید!