假设我有一个集合events
,其中包含长度为2的元组,用于存储一些任意信息,例如一天和一个事件。
在Python 2中,我可以编写非常易读的
sortkey = lambda (day, event): some_function(day)
events_sorted = sorted(events, key=sortkey)
在Python 3中,第一行将引发SyntaxError
,因为已删除了元组参数解包。我不能使用两个参数lambda函数作为键,所以我不得不求助于更不易读的
sortkey = lambda day_and_event: some_function(day_and_event[0])
有更好的方法吗?
答案 0 :(得分:1)
使用两行函数而不是lambda
表达式:
def sortkey(day_and_event):
day, event = day_and_event
return some_function(day)