gpt4 book ai didi

python - 在 Python 中搜索二维元组/列表

转载 作者:太空狗 更新时间:2023-10-30 02:14:21 25 4
gpt4 key购买 nike

我想在一个tuple of tuples 中搜索特定字符串并返回父元组的索引。我似乎经常遇到这种搜索的变体。

执行此操作最符合 Python 风格的方法是什么?

即:

derp = (('Cat','Pet'),('Dog','Pet'),('Spock','Vulcan'))
i = None
for index, item in enumerate(derp):
if item[0] == 'Spock':
i = index
break
>>>print i
2

我可以将其归纳为一个小的实用函数,它接受一个可迭代对象、一个索引(我在示例中硬编码了 0)和一个搜索值。它可以解决问题,但我有这样的想法,即可能有一个单行代码 ;)

即:

def pluck(iterable, key, value):
for index, item in enumerate(iterable):
if item[key] == value:
return index
return None

最佳答案

It does the trick but I've got this notion that there's probably a one-liner for it ;)

单行代码可能不是 pythonic 方式来做到这一点:)

您使用的方法看起来不错。

编辑:

如果你想变得可爱:

return next( (i for i,(k,v) in enumerate(items) if k=='Spock'),None)

next 采用生成器表达式,并在生成器耗尽后返回下一个值或第二个参数(在本例中为 None)。

关于python - 在 Python 中搜索二维元组/列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2205985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com