Python'da Bir Listedeki Olaylar Nasıl Sayılır
Python listesindeki öğelerin oluşumlarını saymanın en iyi yollarını öğrenin. count() yöntemini, koleksiyon.Sayacı ve sözlük sayımını karşılaştırın.
Genel Bakış
Veri kümelerini analiz etmek çoğu zaman tek tek öğelerin oluşumlarını saymanızı gerektirir. Örneğin, her adayın kaç oy aldığını saymak, metin dosyalarındaki kelime sıklıklarını saymak veya işlem günlüklerinde kopyaları belirlemek. Python, tek bir öğe sayısı mı yoksa tam bir sıklık çetelesi mi aradığınıza bağlı olarak bunu çözmek için çeşitli araçlar sağlar.
Tek bir belirli öğenin sıklığını kontrol etmek için yerleşik liste türü bir ".count(value)" yöntemi sağlar. Liste üzerinde yinelenir ve tam değerin kaç kez göründüğünü sayan bir tamsayı döndürür. Basit ve okunabilir olmasına rağmen, tüm öğelerin sayımlarını almak için bir döngüde `.count()' çağrılması son derece verimsizdir ve O(N^2) karmaşıklığında çalışır.
Tüm öğelerin frekanslarını aynı anda tek geçişte saymak için standart kütüphane, 'koleksiyonlar' modülü içinde 'Sayaç' sınıfını sunar. Bir listenin "Sayaç"a iletilmesi, O(N) zamanındaki tüm öğelerin frekanslarını temsil eden sözlük benzeri bir nesne döndürür. Ayrıca en iyi öğeleri hızlı bir şekilde almak için `most_common()` gibi yardımcı yöntemler de sağlar.
Kod ve Yürütme Çıkışı
Bu kod, listelerdeki tek tek öğelerin sayılmasını ve koleksiyonlar.Counter kullanılarak toplam öğe sayısının alınmasını gösterir.
from collections import Counter
colors = ["red", "blue", "red", "green", "blue", "red"]
# Method 1: Count a single item using list.count()
red_count = colors.count("red")
print("Occurrences of 'red':", red_count)
# Method 2: Count all items using collections.Counter (Fast and powerful)
color_counts = Counter(colors)
print("\nCounter Object:", color_counts)
print("Count of 'blue':", color_counts["blue"])
# Getting the top most common items
print("Most common color:", color_counts.most_common(1))
# Method 3: Counting manually using a loop and a standard dictionary
manual_counts = {}
for item in colors:
manual_counts[item] = manual_counts.get(item, 0) + 1
print("\nManual dict count:", manual_counts)Occurrences of 'red': 3
Counter Object: Counter({'red': 3, 'blue': 2, 'green': 1})
Count of 'blue': 2
Most common color: [('red', 3)]
Manual dict count: {'red': 3, 'blue': 2, 'green': 1}Adım Adım Uygulama
- Listedeki yalnızca belirli bir öğenin sayısına ihtiyacınız varsa list_variable.count(value) öğesini çağırın.
- Koleksiyonları içe aktarın. Tüm benzersiz öğeleri tek bir optimize geçişte saymak için listeyi sayın ve iletin.
- En sık görülen ilk n öğeyi çıkarmak için bir Counter nesnesinde .most_common(n) yöntemini kullanın.
Sıkça Sorulan Sorular
Collections.Counter nesnesinde eksik bir anahtarı ararsam ne olur?
KeyError'ı yükselten standart bir sözlüğün aksine, Counter nesnesi eksik öğeler için sıfır oluşumu temsil eden 0 değerini döndürür.
List.count() ile bir döngüde saymaya kıyasla Counter'ın zaman karmaşıklığı nedir?
Sayaç, listeden bir kez geçerek O(N) doğrusal sürede tüm elemanları sayar. Liste öğeleri üzerinde yineleme yapmak ve list.count() öğesini çağırmak, O(N^2) ikinci dereceden zaman alır; bu, büyük listeler için son derece yavaştır.
İlgili Konular
Len() işlevini kullanarak Python'da bir listenin uzunluğunu nasıl bulacağınızı öğrenin. O(1) zaman karmaşıklığını ve kontrol sayımlarını anlayın.
Python'da Bir Listeden Yinelenenler Nasıl KaldırılırSırayı korurken veya yok sayarken Python'da bir listedeki kopyaları nasıl kaldıracağınızı öğrenin. Ayarlanmış dönüşümleri, dikte anahtarlarını ve döngü yöntemlerini karşılaştırın.
Önerilen Python Kaynakları
İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.
Python Listeleri
Python listeleri hakkında her şeyi öğrenin. Python'da dizileri yerel olarak nasıl oluşturacağınızı, dilimleyeceğinizi, değiştireceğinizi ve yineleyeceğinizi keşfedin.
Python String Yöntemleri Hile Sayfası
Python dize manipülasyonu için eksiksiz bir başvuru kılavuzu. Dize özelliklerini biçimlendirme, arama, bölme, değiştirme ve denetleme konusunda uzmanlaşın.
Python vs JavaScript: Hangi Programlama Dili En İyisidir?
Python ve JavaScript arasında kapsamlı bir karşılaştırma. Sözdizimi farklılıklarını, performansı, kullanım örneklerini (arka uç ve ön uç) ve kodlama örneklerini keşfedin.