CodeBlanks Logo Icon CodeBlanks

groupby

groupby ile gruplamayı öğrenirsin.

groupby

groupby(iterable, key=fn) yinelenebilir bir nesnede ardışık aynı anahtara sahip öğeleri gruplar. Her grup bir (anahtar, grup_yineleyici) çifti olarak döner.

Önemli: groupby yalnızca ardışık aynı anahtarları gruplar. Verinin önceden anahtara göre sıralı olması gerekir; yoksa aynı anahtar birden çok grupta görünebilir. key verilmezse öğelerin kendisi anahtar sayılır.

Grup yineleyici tükenir

groupby'dan dönen grup g bir yineleyicidir. Bir kez dolaşınca tükenir; tekrar dolaşmak istersen boş döner. Bu yüzden grubu hemen list(g) ile listeye çevirmek yaygın bir yöntemdir.

Örnek: for k, g in groupby([1, 1, 2]):\n print(k, list(g)). Bu kod, her grup için anahtar ve liste halindeki öğeleri yazdırır. Grup yineleyicisini birden çok kez kullanmak istersen listeye çevirip sakla.

Uygulama groupby ile grupları say

from itertools import groupby ile başla. for k, g in groupby([1, 1, 2, 2, 3]): döngüsünü yaz. Gövdede print(k, len(list(g))) ile her grubun anahtarını ve sayısını yazdır.

Başlangıç kodu

main.py
# groupby ile grupları say

Örnek çözüm

main.py
# groupby ile grupları say
from itertools import groupby

for k, g in groupby([1, 1, 2, 2, 3]):
    print(k, len(list(g)))

Beklenen çıktı

1 2
2 2
3 1

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 groupby verinin ne olmasını bekler?

  • Rastgele sıralı
  • Ters sıralı
  • Anahtara göre sıralı Doğru cevap
  • Sıralanmamış

Açıklama: groupby, verinin anahtara göre sıralı olmasını bekler.

2 groupby döngüsü

Soru
from itertools import groupby

for k, g in ____([1, 1, 2, 2, 3]):
    print(k, len(list(g)))
Cevap
from itertools import groupby

for k, g in groupby([1, 1, 2, 2, 3]):
    print(k, len(list(g)))

Açıklama: groupby ile ardışık gruplar oluşturulur.

3 groupby parçalarını eşleştir

Kavram Anlamı
groupby Gruplama işlevi
key Anahtar işlevi
(k, g) Anahtar ve grup
list(g) Listeye çevirme

Orta seviye bölümündeki tüm dersler