Форум сайта python.su
0
Добрый вечер!
Имеется вложенный список:
l=[[1, 2], [2, 3], [1, 1], [2, 1],[3,0],[4,1],[1,2]]
l[i]
l[i][0]
l[i][1]
l[i][1]
l[i][0]
l=[[1, 5], [2, 4], [1, 5], [2, 4],[3,0],[4,1],[1,5]]
l=[[1, 5], [2, 4],[3,0],[4,1]]
for i in range(len(l)): for j in range(i+1,len(l)): if l[i][0]==l[j][0]: ......
Отредактировано Dmitry15 (Авг. 9, 2017 21:48:30)
Офлайн
0
Вдогонку исходный список и ожидаемые результаты
Прикреплённый файлы:
123.py (431 байт)
Офлайн
0
Вдогонку исходный список и ожидаемые результаты
Прикреплённый файлы:
123.py (431 байт)
Офлайн
0
Вдогонку исходный список и ожидаемые результаты
Прикреплённый файлы:
123.py (431 байт)
Офлайн
857
>>> lst = [[1, 2], [2, 3], [1, 1], [2, 1], [3, 0], [4, 1], [1, 2]] >>> >>> out = [] >>> >>> ilst = (i[0] for i in lst) >>> for i in ilst: ... item = [i, 0] ... for a, b in lst: ... if a == i: ... item[1] += b ... if item not in out: ... out.append(item) ... >>> out [[1, 5], [2, 4], [3, 0], [4, 1]] >>>
Офлайн
568
from collections import OrderedDict lst = [[1, 2], [2, 3], [1, 1], [2, 1], [3, 0], [4, 1], [1, 2]] dct = OrderedDict() for k, v in lst: dct.setdefault(k, 0) dct[k] += v res = [[k, v] for k, v in dct.items()] print(res)
Офлайн