В Python существует функция, которая классифицирует и упорядочивает массив объектов по атрибуту?Имея массив объектов в python, как я могу классифицировать его элементы по атрибуту?
Пример:
class Book:
"""A Book class"""
def __init__(self,name,author,year):
self.name = name
self.author = author
self.year = year
hp1 = Book("Harry Potter and the Philosopher's stone","J.k Rowling",1997)
hp2 = Book("Harry Potter and the chamber of secretse","J.k Rowling",1998)
hp3 = Book("Harry Potter and the Prisioner of Azkaban","J.k Rowling",1999)
#asoiaf stands for A Song of Ice and Fire
asoiaf1 = Book("A Game of Thrones","George R.R Martin",1996)
asoiaf2 = Book("A Clash of Kings","George R.R Martin",1998)
hg1 = Book("The Hunger Games","Suzanne Collins",2008)
hg2 = Book("Catching Fire","Suzanne Collins",2009)
hg3 = Book("Mockingjaye","Suzanne Collins",2010);
books = [hp3,asoiaf1,hp1,hg1,hg2,hp2,asoiaf2,hg3]
#disordered on purpose
organized_by_autor = magic_organize_function(books,"author")
Существует ли magic_organize_function? В противном случае, что бы это было?
Итак, вы хотите группировать и сортировать по автору? – birryree
Функция 'sorted()' в Python принимает параметр 'key'. Он используется для указания _how_, который вы хотите отсортировать список. В вашем случае вы хотите отсортировать атрибут 'author' каждого элемента в списке' books': 'organiz_by_autor = отсортировано (книги, лямбда-книга: book.author)' –
FWIW '' 'излишни. Они ничего не делают. –