什么';使用lambda的这段python代码有什么问题?

什么';使用lambda的这段python代码有什么问题?,python,Python,某些python代码不断抛出无效语法错误: stat.sort(lambda x1, y1: 1 if x1.created_at < y1.created_at else -1) stat.sort(lambda x1,y1:1如果x1.created_在

某些python代码不断抛出无效语法错误:

stat.sort(lambda x1, y1: 1 if x1.created_at < y1.created_at else -1)
stat.sort(lambda x1,y1:1如果x1.created_在
尝试以下方法:

lambda x1,y1:x1.created_在
尝试以下方法:

lambda x1,y1:x1.created_在
这是一个更好的解决方案:

stat.sort(key=lambda x: x.created_at, reverse=True)
或者,为了完全避免使用lambda:

from operator import attrgetter
stat.sort(key=attrgetter('created_at'), reverse=True)

这是一个更好的解决方案:

stat.sort(key=lambda x: x.created_at, reverse=True)
或者,为了完全避免使用lambda:

from operator import attrgetter
stat.sort(key=attrgetter('created_at'), reverse=True)

是属于问题还是打字错误?你能把它恢复到原来的错误版本吗?你应该接受其中一个有用的答案;);)是属于问题还是打字错误?你能把它恢复到原来的错误版本吗?你应该接受其中一个有用的答案;);)and或hack是丑陋的,不再需要了。条件表达式的引入正是为了避免它。and或hack是丑陋的,不再需要了。引入条件表达式正是为了避免这种情况。+1,这比我的答案更具可读性,而且显然更快:。刚刚添加了reverse=True以匹配原始要求。操作符。attrgetter()从pythonic的角度来说绝对是一种改进。+1,这比我的答案更具可读性,而且显然更快:。只是添加了reverse=True以匹配原始需求。operator.attrgetter()从pythonic的角度来说绝对是一个改进。