Python-统计列表中元素个数以及所在列表的位置

看到一个编程小问题,统计一个列表中,元素出现的次数。

代码如下:

list1=[2,3,1,9,112,23,23,6,6,1,3,0,11,2,1,1]

L1=len(list1)   #列表list1的长度
list2=list(set(list1))  #可以用set,直接去掉重复的元素
list2.sort(reverse=False)   #将列表由小到大排序
L2=len(list2)   #列表list2的长度
print('集合:'+str(list1))
for m in range(L2):
    X=set() #设定一个空的集合,用来存放这个元素的所在的位置
    start=list1.index(list2[m])
    for n in range(L1):
        stop=L1
        if list2[m] in tuple(list1)[start:stop]:
            a=list1.index(list2[m],start,stop)
            X.add(a)
            start=start+1

    print('元素:'+str(list2[m])+',一共有'+str(len(X))+'个,在列表位置集合为:'+str(X))

结果如下:

集合:[2, 3, 1, 9, 112, 23, 23, 6, 6, 1, 3, 0, 11, 2, 1, 1]
元素:0,一共有1个,在列表位置集合为:{11}
元素:1,一共有4个,在列表位置集合为:{9, 2, 14, 15}
元素:2,一共有2个,在列表位置集合为:{0, 13}
元素:3,一共有2个,在列表位置集合为:{1, 10}
元素:6,一共有2个,在列表位置集合为:{8, 7}
元素:9,一共有1个,在列表位置集合为:{3}
元素:11,一共有1个,在列表位置集合为:{12}
元素:23,一共有2个,在列表位置集合为:{5, 6}
元素:112,一共有1个,在列表位置集合为:{4}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值