def somalist (lista):
listasoma = [0,0,0,0,0,0,0,0,0,0,0]
for i in lista:
for g in i:
if i.index(g) != 0 and i.index(g) != 1 and i.index(g) != 2 and i.index(g) != 3:
listasoma[i.index(g)] += g
else:
listasoma[i.index(g)] = g
print(listasoma)
return(listasoma)
x = [[1,2,3,4,5,6,7,8,9,10,11],[1,2,3,4,5,6,7,8,9,10,11],[1,2,3,4,5,6,7,8,9,10,11]] print(somalist(x))
Python - Функция, которая суммирует список это с ошибкой
является то, что функция, она работает делает сумму каждого подсписка но сохраняет индекс [0], [1], [2] и [3] и суммировать чужие. В этом примере я буду использовать список x
, в этом списке функция работает правильно. Выход из программы:
[1, 2, 3, 4, 32, 18, 21, 24, 27, 30, 22]
является то, что я сказал, что это сохраняет члены [0], [1], [2], [3] и просуммировать другие показатели каждого подсписка.
Но когда мы используем некоторые цифры более одного раза, это терпит неудачу.
с помощью: X = [[1,2,3,4,5,6,7,8,9,10,11],[1,2,3,4,**6**,6,7,8,9,10,11],[1,2,3,4,5,6,7,8,9,10,11]]
6 (индекс 4) во втором подсписке был прописан дважды (другой в индексе 5 в том же подсписке)
выхода был: [1, 2, 3, 4, **22**, 12, 21, 24, 27, 30, 33]
Это не так!
Правильный выход должен быть: [ 1, 2, 3, 4, 16, 18, 21, 24, 27, 30, 33]
Может кто-нибудь сказать мне, где мой код не так?
Пожалуйста, выберите лучшее название –
я очень жаль, что это была моя первая тема здесь в StackOverflow –
Как указано в [документации] (https://docs.python.org/3/library/stdtypes. html? highlight = list # common-sequence-operations), 'index()' только находит первое вхождение. – TigerhawkT3