Как отсортировать массив массивов python
Я хочу отсортировать массив python по одному первому значению каждого подмассива [[1437510001L, 'UNLOCK_SRV_BIND_ACCOUNT-39400016380001', 'loc-stuff-39400016380001'], [1437500001L, 'UNLOCK_SRV_BIND_ACCO '60100 stuff-stuff00 3900 stuff-3900 stuff-394 39400016370001'], [1437490001L, 'UNLOCK_SRV_BIND_ACCOUNT-39400016360001', 'LOC-материал-39400016360001'], [1437480001L, 'UNLOCK_SRV_BIND_ACCOUNT-39400016350001', 'LOC-материал-39400016350001'], [1437520001L, 'UNLOCK_SRV_BIND_ACCOUNT-39400016390001', ' Loc-материал-39400016390001']]
Эти массивы, с которыми я имею дело, обычно не более 200.
По сути, мне нужно отсортировать по величине до наименьшего значения.
D
2 ответа
В Python последовательности сравниваются лексикографически, что означает "сначала сравниваются первые два элемента, и если они различаются, это определяет результат сравнения; если они равны, сравниваются следующие два элемента и т. Д., Пока одна из последовательностей не будет исчерпаны".
Так что в вашем случае вы можете просто использовать простой вызов list.sort
, А так как вы хотите отсортировать по величине в наименьшее, используйте reverse=True
ключевое слово arg:
lst.sort(reverse=True)
Это сортирует список на месте. Если вы хотите уйти lst
без изменений и вернуть новый отсортированный список, используйте:
sorted_list = sorted(lst, reverse=True)
Использование list.sort
,
>>> mylist = [[1437510001L, 'UNLOCK_SRV_BIND_ACCOUNT-39400016380001', 'loc-stuff-39400016380001'], [1437500001L, 'UNLOCK_SRV_BIND_ACCOUNT-39400016370001', 'loc-stuff-39400016370001'], [1437490001L, 'UNLOCK_SRV_BIND_ACCOUNT-39400016360001', 'loc-stuff-39400016360001'], [1437480001L, 'UNLOCK_SRV_BIND_ACCOUNT-39400016350001', 'loc-stuff-39400016350001'], [1437520001L, 'UNLOCK_SRV_BIND_ACCOUNT-39400016390001', 'loc-stuff-39400016390001']]
>>> mylist.sort()
>>> print mylist
[[1437480001L, 'UNLOCK_SRV_BIND_ACCOUNT-39400016350001', 'loc-stuff-39400016350001'], [1437490001L, 'UNLOCK_SRV_BIND_ACCOUNT-39400016360001', 'loc-stuff-39400016360001'], [1437500001L, 'UNLOCK_SRV_BIND_ACCOUNT-39400016370001', 'loc-stuff-39400016370001'], [1437510001L, 'UNLOCK_SRV_BIND_ACCOUNT-39400016380001', 'loc-stuff-39400016380001'], [1437520001L, 'UNLOCK_SRV_BIND_ACCOUNT-39400016390001', 'loc-stuff-39400016390001']]