如何统计python list中元素的个数及其位置

如题所述

def listcounter(l):
    count = 0
    d = {}
    for x,y in enumerate(l):
        if not d.get(y):
            count =1
     d[y] = [count,[x]]
        else:
     count += 1
     d[y][0] = count
     d[y][-1].append(x)
    return d

瞎输入一个数组

l = [1,2,2,3,1,2,4,5,23,2,1,2,44,4,5,6]

输出的字典是这个样子,key是元素名,后面的列表里是次数和下标:

1 [3, [0, 4, 10]]
2 [4, [1, 2, 5, 9, 11]]
3 [1, [3]]
4 [2, [6, 13]]
5 [3, [7, 14]]
6 [1, [15]]
44 [1, [12]]
23 [1, [8]]

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答