2016-10-29 2 views
0

У меня есть список с несколькими кортежей внутри, т.е.умножаем все значения множества кортежей в пределах списка (питон)

my_list = [(1,2,3),(5,2,1),(3,3,3)] 

Мне нужно умножить значения внутри каждого кортежа в этом списке, чтобы иметь что-то вроде: my_list_results = [6,10,27]

Я пробовал:

import numpy 
my_list_results = list(numpy.product(my_list, axis = 1)) 

но некоторые значения каким-то образом вернуться отрицательным. Список довольно большой (более 10000 элементов), поэтому я не уверен, что цикл for будет хорошим решением.

Любые предложения?

+0

Не должно быть '[6, 10, 27]' как ожидаемый выход? – Divakar

+0

@ Divakar Да, правильно, мои извинения за недоразумение – Lema

+0

на самом деле, преобразование tolist() 'отлично работало. Я пытаюсь считать стандартное отклонение этого списка прямо сейчас; однако он настолько велик, что консоль замерзает. Есть ли у вас какие-либо предложения по этому поводу? Я использую: 'std = statistics.stdev (my_list_results)' – Lema

ответ

0

Использование numpy I изменило ось на axis=-1. Это должно исправить проблему с отрицательными номерами. Если он все еще не работает, создайте функцию, которая будет умножать ее для вас.

Смежные вопросы