![](/img/trans.png)
[英]How to find itertools product of tuples in a list of unknown length?
[英]How to find the product of elements in a multiple tuples in a list
我有以下清单:
list = [(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)]
如何返回包含元组中元素的乘积的列表,即:
[1, 2, 3, 2, 4, 6, 3, 6, 9]
在哪里
1*1 = 1 是新列表中的第一个元素
1*2 = 2 是新列表中的第二个元素
1*3 = 3 是新列表中的第三个元素
2*1 = 2 是新列表中的第 4 个元素
2*2 = 4 是新列表中的第 5 个元素
等等。
在列表理解中做到这一点的方法会很棒。 谢谢!
您可以使用列表理解:
from functools import reduce
from operator import mul
[reduce(mul, t, 1) for t in my_list]
不需要使用库,一个简单的列表理解就可以做到这一点:
lst = [(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)]
products = [a*b for a,b in lst]
# [1, 2, 3, 2, 4, 6, 3, 6, 9]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.