Python 可能替换lambda以访问数组中的项
我想前几天我看到了一篇帖子,里面有一个内置函数,它可以做到这一点:Python 可能替换lambda以访问数组中的项,python,Python,我想前几天我看到了一篇帖子,里面有一个内置函数,它可以做到这一点: def itemAt(index): def accessItem(item): return item[index] return accessItem 它被用在地图之类的东西上。例如,要从列表列表中的每个列表中获取第一个元素,可以执行以下操作: map(itemAt(0), list_of_lists) 我可能只是在想象,但是有没有一个内置函数可以做类似的事情,这样我就可以避免lambda
def itemAt(index):
def accessItem(item):
return item[index]
return accessItem
它被用在地图之类的东西上。例如,要从列表列表中的每个列表中获取第一个元素,可以执行以下操作:
map(itemAt(0), list_of_lists)
我可能只是在想象,但是有没有一个内置函数可以做类似的事情,这样我就可以避免lambda语法:
map(lambda x: x[0], list_of_lists)
正如我所说的,这可能只是一个梦,但我也“记得”看到了类似的属性而不是索引 您正在查找,以及属性
引用文件:
operator.attrgetter(attr)
operator.attrgetter(*attrs)
返回从其操作数获取attr的可调用对象。如果请求了多个属性,则返回属性的元组。属性名称也可以包含点
[……]
operator.itemgetter(item)
operator.itemgetter(*items)
返回一个可调用的对象,该对象使用操作数的\uuuu getitem\uuuuuuu()
方法从其操作数中获取项。如果指定了多个项,则返回查找值的元组
您正在查找、和属性
引用文件:
operator.attrgetter(attr)
operator.attrgetter(*attrs)
返回从其操作数获取attr的可调用对象。如果请求了多个属性,则返回属性的元组。属性名称也可以包含点
[……]
operator.itemgetter(item)
operator.itemgetter(*items)
返回一个可调用的对象,该对象使用操作数的\uuuu getitem\uuuuuuu()
方法从其操作数中获取项。如果指定了多个项,则返回查找值的元组
是的,就是这样!非常感谢。是的,就是这样!非常感谢。仅供参考,使用
[ele[0]作为列表中的元素]
将比使用映射更有效。我同意@padraiccnningham。虽然我实际上也很喜欢lambda.fyi使用[ele[0]作为列表中的元素]
将比使用映射更有效。我同意@padraickenningham。虽然我也喜欢兰姆达。