说我有一个清单,x:
x=[1,2,3,4,1]
如何搜索此列表,以便查找号码的出现次数及其出现的列表位置?
我知道使用方法x.count(num)
,但这只显示出现次数不是列表位置。
感谢
答案 0 :(得分:2)
只是玩Counter ..
>>> from collections import Counter
>>> x=[1,2,3,4,1]
>>> Counter(x)
Counter({1: 2, 2: 1, 3: 1, 4: 1})
>>> {y:[i for i,j in enumerate(x) if j == y] for y in Counter(x)}
{1: [0, 4], 2: [1], 3: [2], 4: [3]}
答案 1 :(得分:0)
您可以生成一个新列表来存储发生位置,新列表的长度就是计数。
>>> x = [1, 2, 3, 4, 1]
>>> y = [ i for i in xrange(len(x)) if x[i] == 1 ]
>>> y
[0, 4]
>>> len(y)
2