Mam listę list my_list
np.Lista sortowania w języku Python na wielu poziomach i z zamówieniem niestandardowym
[
['item 3.1', 'item 3.2', 'item 3.3', 'item 3.4', 'item 3.5'],
['item 3.1', 'item 3.2', 'item 3.2', 'item 3.2', 'item 3.2'],
['item 3.1', 'item 3.2', 'item 3.2', 'item 3.6', 'item 3.2'],
['item 3.1', 'item 2.2', 'item 2.4', 'item 2.7', 'item 2.5'],
['item 2.1', 'item 2.2', 'item 2.3', 'item 2.4', 'item 2.5'],
['item 1.1', 'item 1.2', 'item 1.3', 'item 1.4', 'item 1.5'],
['item 4.1', 'item 4.2', 'item 4.3', 'item 4.4', 'item 4.5'],
['item 1.1', 'item 1.2', 'item 1.3', 'item 1.5', 'item 1.5']
]
Chcę zamówić tę listę na wielu poziomach z 1 poziomów jest zlecenie klienta, ale nie wiem jak to zrobić.
np. Chcę zamówić najpierw przez pierwszą pozycję, a następnie w kolejności, zamówić je przez trzecią pozycję, a następnie w tej kolejności, zamówienie przez czwartą pozycję. Ale chcę pierwsza pozycja należy zamawiać/klasyfikowane w tym konkretnym celu, a nie w kolejności alfabetycznej:
item 4.1
item 2.1
item 3.1
item 1.1
więc ostateczną listę (po sortowaniu) byłoby:
[
['item 4.1', 'item 4.2', 'item 4.3', 'item 4.4', 'item 4.5']
['item 2.1', 'item 2.2', 'item 2.3', 'item 2.4', 'item 2.5'],
['item 3.1', 'item 3.2', 'item 3.2', 'item 3.2', 'item 3.2'],
['item 3.1', 'item 3.2', 'item 3.2', 'item 3.6', 'item 3.2'],
['item 3.1', 'item 3.2', 'item 3.3', 'item 3.4', 'item 3.5'],
['item 3.1', 'item 2.2', 'item 2.4', 'item 2.7', 'item 2.5'],
['item 1.1', 'item 1.2', 'item 1.3', 'item 1.4', 'item 1.5'],
['item 1.1', 'item 1.2', 'item 1.3', 'item 1.5', 'item 1.5'],
]
wiem, że mogę rozwiązać w ciągu wiele poziomów wykonując:
s = sorted(my_list, key=itemgetter(0,2,3))
Ale to byłoby posortować je alfabetycznie i wszystko, co nie wiem jak to zrobić znajduje się w pierwszej kolumnie mają być sortowane według kolejności niestandardowej.
Co to jest źródło tej określonej pozycji? Czy to lista przedmiotów? Czy to odwzorowanie? –
Co powiesz na 'key = map (d .__ getitem__, itemgetter (0,2,3) (my_list))' gdzie 'd = {4.1: 0, 2.1: 1, 3.1: 2, 1.1: 3}'? Będąc tak pozbawionym snu, jak ja, nie chcę robić mojego trzeciego błędu na SO na dzień, ale jeśli ktoś może zobaczyć sposób na użycie tego, proszę zrób – inspectorG4dget
Lista pochodzi z zapytania db i jest Lista rzeczy. Wracają w kolejności, w jakiej zostały dodane do db – John