gpt4 book ai didi

python - 对字典值进行排序 : Error lambda

转载 作者:行者123 更新时间:2023-11-30 23:37:26 24 4
gpt4 key购买 nike

大家好,我有一个问题,我正在尝试按字典的值对字典进行排序,但我不断得到答案

Invalid Syntax Error

错误出现在 lambda(k

周围

这是我所拥有的:

import string

my_dict = {'a' : 15, 'c' : 35, 'b' : 20}

for key, value in sorted(my_dict.iteritems(), key=lambda (k,v): (v,k)):

print("%s: %s" % (key, value))

我在Python方面并不是最好的,但我认为一切看起来都不错。

有谁知道为什么会发生这种情况吗?

更新!!!!!!!!!

按照建议,我删除了括号,但现在出现错误

 for key, value in sorted(my_dict.iteritems(), key=lambda k,v: v,k):
print("%s: %s" % (key, value))

我不知道这意味着什么:

SyntaxError: non-keyword arg after arg

最佳答案

详细阐述 jamylak 的答案,由于 Python 3 没有参数解包,因此需要使用:

key=lambda item: (item[1], item[0])

至于为什么

for key, value in sorted(my_dict.iteritems(), key=lambda k,v: v,k):

失败并显示

SyntaxError: non-keyword arg after arg

这是因为最后一个 k 被解释为 sorted() 的第三个非关键字参数。您的第一次尝试 key=lambda (k,v): (v,k) 效果不错,但遗憾的是仅适用于 Python 2。

关于python - 对字典值进行排序 : Error lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15583081/

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