理解python中的lambda函数

2024-10-02 04:28:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python的新手,我创建了一个脚本来对来自cisco路由器的“showipaccounting”信息进行排序。脚本读取一个文件并将每一行分解成一个列表,然后创建每一行的列表。最后我列出了一个清单:

list a = [[192.168.0.1,172.16.0.1,3434,12222424],[192.168.2.1,172.12.0.1,33334,12667896722424]]

我希望能够按列表中列表的第三列或第四列进行排序。在

我可以用lambda函数来实现,但我的问题是如何使用标准函数复制这个函数?在

下面是我的代码:

^{pr2}$

所以我的问题是如何复制lambda函数作为标准的自定义排序函数?我想弄清楚这是怎么回事。在

b = sorted(a, reverse=True, key=lambda x: int(x[num]))


Tags: 文件lambda函数代码脚本信息列表标准
2条回答

how can I duplicate the lambda function as a standard custom sort function?

你的意思是:

def sort(a, num):
  def key(x):
    return int(x[num])
  return sorted(a, reverse=True, key=key)

或者这个:

^{pr2}$

是吗?在

Python提供了operator.itemgetter来执行这种操作:

def sort(a, num):
    return sorted(a, reverse=True, key=operator.itemgetter(num))

编辑

正如@NPE所指出的,这并没有将键转换为int进行排序。所以,你最好还是选择兰姆达。在

相关问题 更多 >

    热门问题