【发布时间】:2021-06-18 02:31:41
【问题描述】:
我想按内容的 substr 对列表进行排序。 想象一下下面的列表,我希望它按“-”后面的数字排序:
>>> lst = ['ABC-789','DEF-123','GHI-456']
>>> sorted(lst,key=lambda x=lst.split('-') x[1])
这给了我:
sorted(lst, key=lambda x=lst.split('-');x[1])
^
SyntaxError: expression cannot contain assignment, perhaps you meant "=="?
我怎样才能做到这一点?
【问题讨论】:
-
最后总是3位数的代码吗?你也可以只切片:
lambda s: int(s[-3:]) -
顺便说一句,您的语法错误来自
lambda x=。对于匿名函数,语法为lambda variable_s: expression,使用冒号:,不是赋值运算符=。
标签: python list sorting lambda