zoukankan      html  css  js  c++  java
  • 关于列表索引

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

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

     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。效果相同。

  • 相关阅读:
    python中json.dumps()和json.dump() 以及 json.loads()和json.load()的区分
    Python的函数
    Python的Set容器
    Python的Dict容器
    Python的tuple容器
    Python的List容器
    python 的控制流程
    Python 数据类型
    k8s-Pod调度策略
    K8s创建pod yaml文件详解
  • 原文地址:https://www.cnblogs.com/Andy963/p/5315868.html
Copyright © 2011-2022 走看看