拉网线的学python:列表中寻找数据位置

#!/usr/bin/env python
# _*_ coding=utf-8 _*_


a=[1,2,3,4,5,1,2,1,3,1,5,2,3,4,5]

first_pos=0
n=a.count(2)          #计算列表中'2'的个数
print 'count:',n
for i in  range(n):   #循环次数
    new_list=a[first_pos:]     #初始第一次循环列表
    print 'new list:',new_list
    next_pos=new_list.index(2)+1  #当次列表中'2'的位置
    print 'find pos :',first_pos+new_list.index(2)   #当次'2'的位置
    first_pos +=next_pos       #下一次切片起始位置

另一种实现、

#!/usr/bin/env python
# _*_ coding=utf-8 _*_


a=[1,2,3,4,5,1,2,1,3,1,5,2,3,4,5]

pos =0
for i in range(a.count(2)):
     if pos==0:
         pos = a.index(2)
     else:
         pos = a.index(2,pos+1)
     print pos

利用list.index(value,start,stop) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值