說我有一個列表出現時,X:的Python:如何檢查數字的出現在列表中,並在列表中的位置在
x=[1,2,3,4,1]
如何搜索這個列表,以便我能找到的一個數字的出現次數和它發生的列表位置?
我知道使用方法x.count(num)
,但這隻顯示出現次數而不是列表位置。 謝謝
說我有一個列表出現時,X:的Python:如何檢查數字的出現在列表中,並在列表中的位置在
x=[1,2,3,4,1]
如何搜索這個列表,以便我能找到的一個數字的出現次數和它發生的列表位置?
我知道使用方法x.count(num)
,但這隻顯示出現次數而不是列表位置。 謝謝
您可以生成一個新的列表來存儲發生位置,並且新列表的長度是計數。
>>> x = [1, 2, 3, 4, 1]
>>> y = [ i for i in xrange(len(x)) if x[i] == 1 ]
>>> y
[0, 4]
>>> len(y)
2
完美,謝謝! –
與計數器只玩..
>>> 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]}
'index'會做到這一點,例如'x.index(3)'給出'2'。但它只返回第一個索引。 – 101
有沒有辦法做同樣的操作,但使它返回的不僅僅是第一個索引? –
當然有! https://stackoverflow.com/questions/6294179/how-to-find-all-occurrences-of-an-element-in-a-list – 101