Theme
Primary Color

تجميع العناصر المتجاورة بإستخدام groupby

ال groupby بتجمع العناصر المتجاورة اللي ليها نفس المفتاح ومش بتجمع العناصر المتباعدة تلقائيا

تجميع المتشابه المتجاور

الحرف A بيظهر في مجموعتين لأنه اتكرر بعد مجموعة مختلفة

from itertools import groupby

for key, group in groupby("AAABBA"):
    print(key, list(group))

النتيجة

A ['A', 'A', 'A']
B ['B', 'B']
A ['A']

الترتيب قبل التجميع

نرتب بنفس مفتاح التجميع علشان كل العناصر المتشابهة تبقى جنب بعض

from itertools import groupby

words = ["ant", "bear", "apple", "bird"]
ordered = sorted(words, key=lambda word: word[0])
for key, group in groupby(ordered, key=lambda word: word[0]):
    print(key, list(group))

النتيجة

a ['ant', 'apple']
b ['bear', 'bird']
ملحوظة

إستهلك المجموعة الحالية قبل الإنتقال للتالية لأن المجموعات بتشارك نفس مصدر العناصر

python شرح