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列表操作

一、向列表中增加元素

  1. list.append(单个元素):在list列表末端增加一个元素;
  2. list.extend([元素1,元素2]):在list列表末端增加多个元素;
  3. list.insert(元素序号,元素):在list列表任意位置增加一个元素

 

二、从列表中删除元素

  1. list.remove(元素):从列表中删除一个元素,且并不要求此元素的位置;
  2. del.list[元素序号]:从列表中删除指定位置的元素;del还可以删除指定范围内的值。del 也可以删除整个数据对象(列表、集合等),删除后找不到对象

    del是python语句,而不是列表方法,无法通过list来调用。使用del可以删除一个元素,当元素删除之后,位于它后面的元素会自动移动填补空出来的位置。

  3. list_0 = list.pop(元素):从列表中弹出一个元素,则list列表中少一个元素;
  4. list_0 = list.pop(元素序号):从列表中指定弹出一个元素,则list列表中少一个元素。

 

三、列表切片

u = [‘二狗‘, ‘狗蛋‘, ‘铁蛋‘, ‘狗哥‘]   

u0 = [1, 2, 3, 4, 5, 6, 7, 8, 9]

#元素序号分别为:0号、1号、2号、3号、4号。。。。。;0号位对应:‘二狗‘、1

  1. u[0] == ‘二狗‘
  2. u[0:2] == [‘二狗‘, ‘狗蛋‘]
  3. u[:2] == [‘二狗‘, ‘狗蛋‘, ‘铁蛋‘]
  4. u[2:3] ==  ‘铁蛋‘
  5. u[2:] == [ ‘铁蛋‘, ‘狗哥‘]
  6. u0[0:9:2] == [1, 3, 5, 7, 9]
  7. uo[::-1] == [9, 8, 7, 6, 5, 4, 3, 2, 1]
  8. uo[:] == uo

 

四、列表的其它操作

  1. a = list.count(元素):计算它的参数在列表中出现的次数,并将次数返回;
  2. a = list.index(元素):返回它的参数在列表中的位置,返回元素序号;#若有多个元素相同,此为只返回首端起第一个。
  3. a = list.index(元素, 序号1,序号2):在序号1和序号2范围内,返回列表中元素位置。 #若有多个元素相同,此为只返回首端起第一个。
  4. list.reverse() == list[::-1]:将整个列表内元素反过来排列:[1, 2, 3, 4].reverse() == [4, 3, 2, 1];
  5. list.sort():将所有元素,从小到大排列;

以上是关于python list 怎么查出一个元素的所有位置的主要内容,如果未能解决你的问题,请参考以下文章

怎么查找python列表中元素的位置

python怎么获取list的某个元素的位置

python 判断某个列表中的所有元素在另一个列表中

python提取list中的元素

python中列表增加元素的方法

Python:如果想要删除list中的list中的元素该怎么做呢?