Необходимо сложить цифры с которых начинаются повторяющиеся значения

my_list = ['10 Волокамск',
    '10 Белгородская область',
    '10 Ростов-на-Дону',
    '2 Барклай де Толли',
    '2 Барклай де Толли',
    '10 Орёл',
    '10 Нальчик',
    '10 50 лет первому полёту человека в космос',
    '2 Новороссийск',
    '2 Барклай де Толли',
    '10 Гатчина',
    '10 50 лет первому полёту человека в космос']

result = []

my_list.sort()

for i in range(0,len(my_list)-1):

               if my_list[i] == my_list[i+1]:
                   result.append(my_list[i])



print(result)

Ответы (3 шт):

Автор решения: ivan_susanin

Если чуть испраить ваш код то получится так:

my_list = ['10 Волокамск',
    '10 Белгородская область',
    '10 Ростов-на-Дону',
    '2 Барклай де Толли',
    '2 Барклай де Толли',
    '10 Орёл',
    '10 Нальчик',
    '10 50 лет первому полёту человека в космос',
    '2 Новороссийск',
    '2 Барклай де Толли',
    '10 Гатчина',
    '10 50 лет первому полёту человека в космос']

result = 0

my_list.sort()

for i in range(0,len(my_list)-1):
    if my_list[i] == my_list[i+1]:
        result += int(my_list[i].split()[0])
print(result)
→ Ссылка
Автор решения: Кирилл Малышев
from collections import Counter
from functools import reduce

my_list = ['10 Волокамск',
    '10 Белгородская область',
    '10 Ростов-на-Дону',
    '2 Барклай де Толли',
    '2 Барклай де Толли',
    '10 Орёл',
    '10 Нальчик',
    '10 50 лет первому полёту человека в космос',
    '2 Новороссийск',
    '2 Барклай де Толли',
    '10 Гатчина',
    '10 50 лет первому полёту человека в космос']
    

print(reduce(lambda s, el: s + int(el[0].split()[0]) * (el[1] - 1), Counter(my_list).items(), 0))
→ Ссылка
Автор решения: Andy Pavlov

Можно без дополнительных библиотек и сортировки через создание уникального сета, подсчета его вхождений (числа монет) в my_list через метод списка list.count() с фильтром на число монет больше одной:

my_list = ['10 Волокамск',
    '10 Белгородская область',
    '10 Ростов-на-Дону',
    '2 Барклай де Толли',
    '2 Барклай де Толли',
    '10 Орёл',
    '10 Нальчик',
    '10 50 лет первому полёту человека в космос',
    '2 Новороссийск',
    '2 Барклай де Толли',
    '10 Гатчина',
    '10 50 лет первому полёту человека в космос']

print(sum(int(s.split(' ')[0]) * (my_list.count(s) - 1) 
          for s in set(my_list) if my_list.count(s) > 1))
# 14
→ Ссылка