有没有一种简单的方法可以按内部列表的任何元素对嵌套列表进行排序?我们可以使用 list_name.sort() 语句对列表进行排序,但我们可以按任何所需的元素甚至任何所需的列表元素元素进行排序吗?
books = [
['123', 'book1', 25],
['243', 'book2', 30],
['874', 'book3', 15],
['519', 'book4', 20],
['745', 'book5', 10]
]
答案 0 :(得分:3)
这应该可以解决问题,例如,如果您希望按每个内部列表的第 3 个元素进行排序-
# element to sort by:
elm = 2
books.sort(key=lambda x: x[elm])
books
答案 1 :(得分:1)
books = [
['123', 'book1', 25],
['243', 'book2', 30],
['874', 'book3', 15],
['519', 'book4', 20],
['745', 'book5', 10]
]
# Use sort() method if you don't need to create a new object
books.sort(key=lambda x : x[2])
print(books)
# Use sorted() function if you want a new object
sorted_books = sorted(books, key=lambda x: x[2])
print(sorted_books)