python list 怎么查出一个元素的所有位置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python list 怎么查出一个元素的所有位置相关的知识,希望对你有一定的参考价值。
list的index(object)返回 元素第一次出现的位置如
a = ["ab","cd",1,3]
print a.index(1)
输出就是2追问
所有位置
参考技术A def find_all_index(arr,item):return [i for i,a in enumerate(arr) if a==item]
if __name__=='__main__':
print(find_all_index([1,2,3,2,2],2))
结果:
>>>[1, 3, 4]追问
不用循环的呢
追答那用什么?
追问一句语言找出
追答这不就是一句语言吗?只不过我把它包装成函数而已
本回答被提问者采纳Python列表操作
一、向列表中增加元素
- list.append(单个元素):在list列表末端增加一个元素;
- list.extend([元素1,元素2]):在list列表末端增加多个元素;
- list.insert(元素序号,元素):在list列表任意位置增加一个元素
二、从列表中删除元素
- list.remove(元素):从列表中删除一个元素,且并不要求此元素的位置;
- del.list[元素序号]:从列表中删除指定位置的元素;del还可以删除指定范围内的值。del 也可以删除整个数据对象(列表、集合等),删除后找不到对象
del是python语句,而不是列表方法,无法通过list来调用。使用del可以删除一个元素,当元素删除之后,位于它后面的元素会自动移动填补空出来的位置。
- list_0 = list.pop(元素):从列表中弹出一个元素,则list列表中少一个元素;
- list_0 = list.pop(元素序号):从列表中指定弹出一个元素,则list列表中少一个元素。
三、列表切片
u = [‘二狗‘, ‘狗蛋‘, ‘铁蛋‘, ‘狗哥‘]
u0 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
#元素序号分别为:0号、1号、2号、3号、4号。。。。。;0号位对应:‘二狗‘、1
- u[0] == ‘二狗‘
- u[0:2] == [‘二狗‘, ‘狗蛋‘]
- u[:2] == [‘二狗‘, ‘狗蛋‘, ‘铁蛋‘]
- u[2:3] == ‘铁蛋‘
- u[2:] == [ ‘铁蛋‘, ‘狗哥‘]
- u0[0:9:2] == [1, 3, 5, 7, 9]
- uo[::-1] == [9, 8, 7, 6, 5, 4, 3, 2, 1]
- uo[:] == uo
四、列表的其它操作
- a = list.count(元素):计算它的参数在列表中出现的次数,并将次数返回;
- a = list.index(元素):返回它的参数在列表中的位置,返回元素序号;#若有多个元素相同,此为只返回首端起第一个。
- a = list.index(元素, 序号1,序号2):在序号1和序号2范围内,返回列表中元素位置。 #若有多个元素相同,此为只返回首端起第一个。
- list.reverse() == list[::-1]:将整个列表内元素反过来排列:[1, 2, 3, 4].reverse() == [4, 3, 2, 1];
- list.sort():将所有元素,从小到大排列;
以上是关于python list 怎么查出一个元素的所有位置的主要内容,如果未能解决你的问题,请参考以下文章