gpt4 book ai didi

Python 列表操作,Lambda 表达式

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

def myFunction(name):
index = 0
list = self.getList()
index = (x => x.name == name)
return index

我想使用 lamba 表达式在 python 列表中查找元素的索引,就像在 C# 中一样。是否可以像在 C# 中一样使用 lambda 表达式来查找 python 列表中特定元素的索引。如果是请举例说明

最佳答案

我认为这段代码更接近您的要求:

def indexMatching(seq, condition):
for i,x in enumerate(seq):
if condition(x):
return i
return -1

class Z(object):
def __init__(self, name):
self.name = name

class X(object):
def __init__(self, zs):
self.mylist = list(zs)

def indexByName(self, name):
return indexMatching(self.mylist, lambda x: x.name==name)

x = X([Z('Fred'), Z('Barney'), Z('Wilma'), Z('Betty')])

print x.indexByName('Wilma')

返回 2.

关键思想是在遍历序列时使用枚举来维护索引值。 enumerate(seq) 返回一系列 (index,item) 对。然后当你找到匹配项时,返回索引。

关于Python 列表操作,Lambda 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8178639/

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