Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 20, 2015 21:47:02

bossserg
Зарегистрирован: 2015-04-20
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Sort подскажите плиз

Подскажите как применять Отсортированный список. sorted
какие есть примеру к примеру сортировка по алфавиту, возрастанию и убыванию.
интересует сортировка словарей.
параметр key= какие есть стандартный функции??
Если я правильно понял можно написать самому функцию и применить ей в сортировке.
Примеры для версии 2.7

Офлайн

#2 Апрель 20, 2015 22:04:51

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Sort подскажите плиз

ссылка



————————————————
-*- Simple is better than complex -*-

Офлайн

#3 Апрель 20, 2015 23:47:54

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9890
Репутация: +  854  -
Профиль   Отправить e-mail  

Sort подскажите плиз

bossserg
параметр key= какие есть стандартный функции?
Любую функцию туда можно передавать, которая принимает один аргумент и возвращает значение, к которому можно применить сравнение.

Числа от десяти перемещает вправо и сортирует их.
>>> lst = [3, 10, 2, 30, 1, 20, 0]
>>> 
>>> lst.sort(key=lambda i: i >= 10 and i)
>>> lst
[3, 2, 1, 0, 10, 20, 30]
>>>

Функция sort() берёт два элемента, потом применяет key к одному и ко второму, получая два результата, которые сравнивает. Так она определяет, нужно ли менять местами элементы.

Можно вообще произвольно отсортировать.
>>> import random
>>> 
>>> lst = [3, 10, 2, 30, 1, 20, 0]
>>> 
>>> lst.sort(key=lambda i: random.randint(1, 100))
>>> lst
[0, 20, 2, 30, 3, 10, 1]
>>>



Отредактировано py.user.next (Апрель 20, 2015 23:57:21)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version