尝试对指定一个人的生日(日,月,年)的元组进行排序,从最小到最旧。
所以,例如
def sort_something(birthday: [(int, int, int)]):
sorted(birthday, key=lambda int:int[2])
return birthday
但是,当我运行它时,会产生索引范围错误。
Traceback (most recent call last):
line 68, in <module>
('Joyce',(2,21,1920))
line 20, in sort_ages
sorted(data, key = lambda int: int[2])
line 20, in <lambda>
sorted(data, key = lambda int: int[2])
IndexError: tuple index out of range
思想?
答案 0 :(得分:0)
您的代码中有多个错误:
sorted(birthday)
会返回一份副本。它不会修改birthday
int[2]
个数字(日,月,年),则3
应该有效int
用作变量名称,它是内置名称from datetime import date
def by_date(day_month_year):
return date(*reversed(day_month_year))
L = [(3, 12, 2059), (13, 3, 1999), (1, 1, 2059)]
print(L)
L.sort(key=by_date)
print(L)
[(3, 12, 2059), (13, 3, 1999), (1, 1, 2059)]
[(13, 3, 1999), (1, 1, 2059), (3, 12, 2059)]