码迷,mamicode.com
首页 > 其他好文 > 详细

关于列表索引

时间:2016-03-24 16:16:40      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:

有一列表,某一元素在列表中出现多次,要求求出该元素在列表中的索引位置。

最简单的方案就是直接对所有元素进行遍历。这里不考虑。

技术分享
 1 # coding:utf-8
 2 name = list(12345242523552623623)
 3 
 4 first_pos = 0
 5 for i in range(name.count(2)):
 6     pos = name.index(2)
 7     position = first_pos + pos
 8     print(第%d 个索引是: %d % (i, position))
 9     name = name[pos+1:]
10     first_pos += (pos+1)
方案1:

事实上这里结果没有问题,但有一个潜在隐患,就是在循环过程中对列表进行了修改,所以最好的做好是:将for i in range(name.count(‘2‘)):里的name替换成name[:],即拷贝一份。

技术分享
 1 # coding:utf-8
 2 name = list(12345242523552623623)
 3 
 4 pos = 0
 5 for i in range(name.count(2)):
 6     if pos == 0:
 7         pos = name.index(2)
 8     else:
 9         pos = name.index(2, pos+1)
10     print(第%d个2索引:%d % (i, pos))
方案2:

方案二利用了内置方法index的可选 参数start。效果相同。

关于列表索引

标签:

原文地址:http://www.cnblogs.com/Andy963/p/5315868.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!