@kurazjajami: print(sorted([czlek.imie for czlek in ludzie])) gdzie ludzie jakiś iterable z obiektami. Można też zamiast list comprehension użyć map(lambda czlek: czlek.imie, ludzie), na tym sorted. Ale tu też musisz mieć jakiś iterable.
@kurazjajami: To już zależy od tego co konkretnie chcesz zrobić. Jak chcesz posortować wg. jednego z parametrów to sorted ma parametr key. Wrzucasz tam funkcję, która określa klucz wg. którego chcesz sortować. sorted(ludzie, key: lambda czlek: czlek.imie) zwróci listę posortowanych obiektów wg. imienia. Generalnie polecam dokumentację, warto potrafić się po niej poruszać.
@boktosiewpehapiepolapie: W funkcjach operujacych na iterablach wydajniej jest uzyc generator expression zamiast list comprehension. Wtedy po pierwsze - mozna ominac te ohydne nawiasy kwadratowe, po drugie - nie tworzymy explicite listy w pamieci, tylko pozwalamy funkcji sorted na optymalizacje tego. :-)
@3denos: O, człowiek uczy się całe życie. Dzięki wielkie, mam trochę fioła na punkcie optymalizacji, na pewno będę korzystał. Muszę kiedyś całego PEPa przeczytać, od dawna się do tego zabieram. ( ͡°͜ʖ͡°)
Mirki, przykładowo mam klasę, która ma imię i nazwisko.
Jak wyświetlić imiona wszystkich obiektów posortowane? Kombinuję żeby dodać do listy i wtedy posortować, potem wyświetlić. Jest jakiś inny sposób?
Można też zamiast list comprehension użyć map(lambda czlek: czlek.imie, ludzie), na tym sorted. Ale tu też musisz mieć jakiś iterable.
print(sorted(human.name for human in humans))