@VaniLuksh

Как сложить элементы списков по другим элементам списков?

Имеется список списков:
num_list = [[5, 1], [10, 1], [30, 2], [20, 2]]

Нужно сложить первые числа списков по значениям вторых элементов, т.е. сгруппировать по вторым элементам списка
sum_list1 = [15, 1]
sum_list2 = [50, 2]
  • Вопрос задан
  • 1789 просмотров
Решения вопроса 1
@dob
for e in set([l[-1] for l in num_list]):
    print([e, sum([l[0] for l in num_list if l[1] == e])])


Или получить генератор:
def get_iter(num_list):
    for e in set([l[-1] for l in num_list]):
        yield [sum([l[0] for l in num_list if l[1] == e]), e]

for e in get_iter(num_list):
    print(e)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы