Mam listę:
lista = [(4, 8), (13, 16), (23, 26), (23, 25), (43, 46)]
Chciałbym otrzymać taką listę:
lista = [(4, 8), (13, 16), (23, 25), (23, 26), (43, 46)]
Użyłem kodu:
li = lista.sort(key=min)
Jednak działa on tylko na pierwszą wartość.
Mam listę:
lista = [(4, 8), (13, 16), (23, 26), (23, 25), (43, 46)]
Chciałbym otrzymać taką listę:
lista = [(4, 8), (13, 16), (23, 25), (23, 26), (43, 46)]
Użyłem kodu:
li = lista.sort(key=min)
Jednak działa on tylko na pierwszą wartość.
lista.sort(key=lambda x: (x[0], x[1]))
adrian18 napisał(a):
Mam listę:
lista = [(4, 8), (13, 16), (23, 26), (23, 25), (43, 46)]
Chciałbym otrzymać taką listę:
lista = [(4, 8), (13, 16), (23, 25), (23, 26), (43, 46)]
Użyłem kodu:
li = lista.sort(key=min)
Jednak działa on tylko na pierwszą wartość.
Jak działa tylko na 1 wartość? Bzdura, posortuje najpierw po pierwszej wartości, potem po drugiej.
PS. W tym wypadku wystarczy samo sort, bez podawania key
nalik napisał(a):
adrian18 napisał(a):
Mam listę:
lista = [(4, 8), (13, 16), (23, 26), (23, 25), (43, 46)]
Chciałbym otrzymać taką listę:
lista = [(4, 8), (13, 16), (23, 25), (23, 26), (43, 46)]
Użyłem kodu:
li = lista.sort(key=min)
Jednak działa on tylko na pierwszą wartość.
Jak działa tylko na 1 wartość? Bzdura, posortuje najpierw po pierwszej wartości, potem po drugiej.
PS. W tym wypadku wystarczy samo sort, bez podawania
key
li = lista.sort(key=min)
posortuje biorąc pod uwagę najmniejszą wartość z każdej tupli, bo każda tupla będzie przekazana do min
jako parametr, a jak przekażesz iterable do min
to dostaniesz w wyniku najmniejszą wartość w kolekcji. Reszta się zgadza, wystarczy samo .sort()
bez podawania klucza, bo Python domyślnie porównuje tuple parami wartość po wartości.
Btw. czy list.sort nie sortuje listy w miejscu i li
będzie zawsze ´None`?