Metoda .sort()
Metoda sortuje elementy w liście.
Składnia:
list.sort(key, reverse)
Parametry:
key – argument opcjonalny – domyślna wartość None – określa funkcję o jednym argumencie, która jest używana do wyodrębnienia klucza porównawczego z każdego elementu;
reverse – bool – argument opcjonalny – domyślna wartość False – elementy listy są sortowane tak, jakby każde porównanie było odwrócone.
Wartość zwracana:
None
Przykłady:
list1 = ['one', 'two', 'three', 'four', 'three'] list1.sort() print(list1) # wynik --> ['four', 'one', 'three', 'three', 'two'] list1 = [1, 5, 3, 10, 3, 2] list1.sort() print(list1) # wynik --> [1, 2, 3, 3, 5, 10] list1 = [2.1, 5.1, 3.2, 10.5, 3.2, 2.1] list1.sort() print(list1) # wynik --> [2.1, 2.1, 3.2, 3.2, 5.1, 10.5] list1 = [2.1, 5.1, 3, 10.5, 3.2, 2] list1.sort() print(list1) # wynik --> [2, 2.1, 3, 3.2, 5.1, 10.5] list1 = [2, 5.1, 'one', 10.5, 3.2, 'three'] list1.sort() print(list1) # wynik --> TypeError: '<' not supported between instances of 'str' and 'float' list1 = ['d', 'e', 'a', 'z', 'ź', 'ą'] list1.sort() print(list1) # wynik --> ['a', 'd', 'e', 'z', 'ą', 'ź'] list1 = [3.0, 3.4, 3.5 - 3.5j, 3.5 + 3.5j, 3.0] list1.sort() print(list1) # wynik --> TypeError: '<' not supported between instances of 'complex' and 'float' list1 = [3, 5, 6 - 3j, 3 + 3j, 3] list1.sort() print(list1) # wynik --> TypeError: '<' not supported between instances of 'complex' and 'int'
# Przykłady z parametrem reverse list1 = [1, 5, 3, 10, 3, 2] list1.sort() print(list1) # wynik --> [1, 2, 3, 3, 5, 10] list1 = [1, 5, 3, 10, 3, 2] list1.sort(reverse=False) print(list1) # wynik --> [1, 2, 3, 3, 5, 10] list1 = [1, 5, 3, 10, 3, 2] list1.sort(reverse=True) print(list1) # wynik --> [10, 5, 3, 3, 2, 1]
def moje_sortowanie(item): return abs(item) list1 = [1, -5, 3, 10, -3, 2] list1.sort() print(list1) # wynik --> [-5, -3, 1, 2, 3, 10] list1 = [1, -5, 3, 10, -3, 2] list1.sort(key=moje_sortowanie) print(list1) # wynik --> [1, 2, 3, -3, -5, 10] list1 = [3.0, 3.4, 3.5 - 3.5j, 3.5 + 3.5j, 3.0] list1.sort(key=moje_sortowanie) print(list1) # wynik --> [3.0, 3.0, 3.4, (3.5-3.5j), (3.5+3.5j)]