繁体   English   中英

如何在列表中的多个元组中查找元素的乘积

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM