هنالك طرق عديدة في لغة بايثون لحساب عدد تكرارات عناصرها، وبما أن السلسلة النصية مرتبة فسيصبح أمر ترتيبها سهل للغاية. يمكنك استخدام دالة groupby من وحدة itertools مع دوال len و list وحلقة تكرار for للحصول على ما تريد: a = [1,1,1,1,2,2,2,2,3,3,4,5,5]
from itertools import groupby
[len(list(group)) for key, group in groupby(a)]
وسيكون الناتج: [4, 4, 2, 1, 2]
أما إذا كنت تستخدم الإصدار 2.7 من بايثون فيمكنك في هذه الحالة استخدام دالة Counter من وحدة collections حيث ستحصل بهذه الطريقة على قاموس يحتوي على العناصر وعدد مرات تكرار وإذا أردت الحصول على عدد مرات التكرار فقط فيمكنك استخدام دالة values() كما في المثال التالي: import collections
a = [1,1,1,1,2,2,2,2,3,3,4,5,5]
counter=collections.Counter(a)
print(counter)
# Counter({1: 4, 2: 4, 3: 2, 5: 2, 4: 1})
print(counter.values())
# [4, 4, 2, 1, 2]
print(counter.keys())
# [1, 2, 3, 4, 5]
print(counter.most_common(3))
# [(1, 4), (2, 4), (3, 2)]