python list索引_Python List index()方法

如果 list 存储了若干复杂结构的值,比如这样的一个列表:

temp = [('a', 1, 1.5),

('b', 2, 5.1),

('c', 9, 4.3)]

你想找到其中是 ('b', XX, XX) 这样的元素,其中 XX 可以为任意值。这种情况无法通过 index 函数来获得,我们可以利用 sort 的 key 参数来实现。

list.sort(或者 sorted 函数)有一个 key 参数,你可以提供一个函数来作为排序的依据。此时我们可以传入以下值:

temp.sort(key = lambda x:x[0]!='b')

随后我们会发现,所有形如 ('b', XX, XX) 的元素全部浮动到了列表的头部,此时我们访问 temp[0] 就可以获得想要查找的值了。

我们也可以写一个简单的函数:

findindex = lambda self,i,value:sorted(self,key=lambda x:x[i]!=value)[0]

那我们只需要这样调用:

>>> findindex(temp,0,'b')

就会返回它找到的第一个值:

>>> ('b',2)

一墨滢一

一墨滢一

741***469@qq.com2年前 (2019-05-05)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值