Python:如何检查列表中数字的出现位置以及列表中出现的位置

时间:2015-12-07 02:54:33

标签: python list position

说我有一个清单,x:

x=[1,2,3,4,1]

如何搜索此列表,以便查找号码的出现次数及其出现的列表位置?

我知道使用方法x.count(num),但这只显示出现次数不是列表位置。 感谢

2 个答案:

答案 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