首页 > 其他 > 详细

关于列表索引

时间:2016-03-24 16:16:01      阅读:233      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!