关于列表索引

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

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

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

时间: 2024-11-10 07:05:43

关于列表索引的相关文章

Python 中使用 for、while 循环打印杨辉三角练习(列表索引练习)。

Python中使用for while循环打印杨辉三角练习(列表索引练习). 杨辉三角是一个由数字排列成的三角形数表,一般形式如下: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 ....................... 杨辉三角最本质的特征是,它的两条斜边都是由数字1组成的,而其余的数则是等于它肩上的两个数之和. 方法一: __author__ = 'Brad' n = int(input('请输入你想打印杨辉三角

Android之列表索引

其实这个功能是仿苹果的,但是现在大多数Android设备都已经有了这个功能,尤其是在通讯录中最为常见.先来看看今天这个DEMO的效果图(如下图):从图中我们可以看到,屏幕中的主体是一个ListView,右边有一个导航栏,里面放着字母/数字的索引(如图1),用手指点击/移动手指可以改变选中的索引,同时ListView将滚动到选中的索引对应的第一条数据(如图2):如果ListView的数据中没有选中的索引对应的数据,则将ListView滚动到选中索引上面离选中索引最近的有数据的索引对应的第一条数据(

[Python列表]-索引

Python 列表(List) 前言 序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的是列表和元组. 序列都可以进行的操作包括索引,切片,加,乘,检查成员. 此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法. 列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现. 列表的数据项不需要具有相同的类型 索引 列表中的所有元素都

knockout.js $index 做列表索引小技巧

我们都知道,在foreach binding中,使用$index可以得到基于0的索引序号,但在列表显示中,我们更希望这个索引是从1开始的,怎么处理呢? 这里,有个小技巧:使用$index() + 1,如:data-bind="text:$index() + 1" 看到没有,序号是否就是从1开始了?

用列表作为列表索引

a = np.around(10*np.random.random((3, 3))) b = [0, 1, 2] c = [0, 1, 2] print(a) print(a[b, c]) 运行结果如下,利用[0, 1, 2]作为行索引, [0,1, 2]作为列索引,输出了a[0, 0], a[1, 1], a[2, 3]. 原文地址:https://www.cnblogs.com/loubin/p/11294242.html

JS获取列表索引值

html部分 <ul id="test"> <li>111</li> <li>222</li> <li>333</li> <li>444</li> </ul> JS部分 window.onload=function(){ var ul=document.getElementById('test'); var ul_lis=ul.getElementsByTagName

Android带索引联系人列表

网上Android联系人列表的样例也非常多,都和微信的联系人差点儿相同,因为项目用到了联系人列表索引功能(产品把字母item给去掉了),只是也还是好实现.这里我也来分享分享我的实现,免得以后忘了.那先看看效果(Demo在结尾有下载地址): 要达到的效果就是这么简单. 先说说思路吧:首先为联系人对象加入一个pinyin字段,当获取到了联系人原始数据后,把每一个联系人的名字转换为拼音.并为pinyin字段设置值. 然后获取联系人中出现过哪些字母的拼音保存为数组(这就是字母的item),然后和联系人拼

1143. 两个列表的最小索引和

1143. 两个列表的最小索引和 中文English 假设Andy和Doris想要选择一家餐馆吃晚餐,他们都有一个各自最喜爱的餐馆列表. 你需要用最少的列表索引总和来帮助他们找出他们的共同兴趣. 如果最少列表索引总和的答案不唯一,则输出所有答案并且没有顺序要求. 你可以假设总有一个答案. 样例 案例 1: 输入: ["Shogun", "Tapioca Express", "Burger King", "KFC"] [&quo

Cisco PT模拟实验(17) 路由器IP访问控制列表配置

Cisco PT模拟实验(17) 路由器IP访问控制列表配置 实验目的: 理解两种IP访问控制列表的原理及功能 掌握常见IP访问控制列表的配置方法 实验背景: 公司的经理部.财务部们和销售部门分属于不同的3个网段,三部门之间用路由器进行信息传递,为了安全起见,公司领导要求销售部门不能对财务部进行访问,但经理部可以对财务部进行访问. 技术原理: 路由器能提供防火墙的功能,根据一些预设置的ACL过滤规则对任何经过接口的流量进行过滤,说明哪些具体的通信(来自设备.协议或端口等)是被允许或拒绝,该功能是