如何求和*列表中出现的唯一次数? [关闭]

问题描述 投票:0回答:1

所以,如果我们有一个列表.. ex

lst = [100, 50, 1, 1, 1, 1] 

而且我们想将该值与它出现多少次相乘,您将如何做?

对于前(100 * 1 + 50 *1 + 1*4=...)

python-3.x
1个回答
0
投票

请参考collections.Counter模块。

x=Counter(lst)

In [4]: x
Out[4]: Counter({100: 1, 50: 1, 1: 4})

In [5]: x.items()
Out[5]: dict_items([(100, 1), (50, 1), (1, 4)])

In [8]: k=0

In [9]: for (i,j) in x.items():
   ...:     k+=i*j
   ...:

In [10]: k
Out[10]: 154

如果有帮助,请对其进行投票。

© www.soinside.com 2019 - 2024. All rights reserved.