python 输出元素索引(一维数组、字符串、二维数组)

类型一:数组的索引

1.若索引的元素唯一,则利用l.index(target)即可。l为所给数组,target为查找的目标值。
l=[1,2,36,89,45,36,11]
print(l.index(89))
output: 3

需要注意的是,如果索引的值不在数组中,则程序报错。
index()函数是从数组左边开始查找。
当索引的元素不唯一时,该方法只返回找到的第一个元素的索引,下面介绍

2.若索引的元素不唯一,利用enumerate函数。
l=[1,2,36,89,45,36,11]
print(l.index(36))
output: 2
print([i for i ,x in enumerate(l) if x==36])
output: [2,6]

enumerate()函数数组中的元素变为元组,即变为(index,value),利用循环找出所有值即可。

类型二:字符串的索引

1.利用l.find(target)

除了上述说讲的方法外,还有find()函数,用法与index一样,区别就是当查找元素不存在是,find()函数返回-1。

字符串查找中还延伸了几个函数,index()和find()都是从头开始找,返回第一个找到元素,而rindex()和rfind()都是从末尾开始找,返回第一个找到元素。

类型三:二维的索引

1.查找的元素唯一
divmod()函数

divmod()函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)。

divmod(7, 2)
output: (3, 1)

利用这个特性,我们可以进行以下计算:

a=[[1,2,3],[4,5,6],[7,8,9]]
divmod(sum(a, []).index(6), 3)
output: (1, 2)

其中,sum(a, [])的作用是将列表展开,并利用index()函数找出索引,最后用divmod()函数返回行列的索引,3为二维数组的行数:

sum(a, [])
output: [1, 2, 3, 4, 5, 6, 7, 8, 6]
2.查找的元素不唯一

可以通过遍历查找

a=[[1,2,3],[4,5,6],[7,8,6]]
[(i,j) for i in range(len(a)) for j in range(len(a[0])) if a[i][j]==6]
output: [(1, 2), (2, 2)]
  • 7
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值