Сортировка списка данных в Python по алфавиту

Я немного сбит с толку относительно структуры данных в python; (), [] и {}. Я пытаюсь отсортировать простой список, возможно, так как я не могу определить тип данных, я не могу его отсортировать.

Мой список прост: ['Stem', 'constitute', 'Sedge', 'Eflux', 'Whim', 'Intrigue']

У меня вопрос, что это за тип данных и как сортировать слова по алфавиту?

117 голосов | спросил icypy 25 TueEurope/Moscow2012-12-25T21:04:55+04:00Europe/Moscow12bEurope/MoscowTue, 25 Dec 2012 21:04:55 +0400 2012, 21:04:55

5 ответов


0

В Python есть встроенная функция sorted , который даст вам отсортированный список из всех повторяемых вами итераций (например, список ([1,2,3]); dict ({1:2,3:4}, хотя он просто вернет отсортированный список ключей; набор ({1,2,3,4) или кортеж ((1,2,3,4))) .

>>> x = [3,2,1]
>>> sorted(x)
[1, 2, 3]
>>> x
[3, 2, 1]

Списки также имеют sort , который будет выполнять сортировку на месте.

>>> x = [3,2,1]
>>> x.sort()
>>> x
[3, 2, 1]

Оба также принимают аргумент key, который должен быть вызываемым (функция /лямбда), который можно использовать для изменения того, что сортировать по .
Например, чтобы получить список пар (key,value) из dict, отсортированного по значению, вы можете использовать следующий код:

>>> x = {3:2,2:1,1:5}
>>> sorted(x.items(), key=lambda kv: kv[1])  # Items returns a list of `(key,value)`-pairs
[(2, 1), (3, 2), (1, 5)]
ответил Teo Klestrup Röijezon 25 TueEurope/Moscow2012-12-25T21:21:18+04:00Europe/Moscow12bEurope/MoscowTue, 25 Dec 2012 21:21:18 +0400 2012, 21:21:18
0

Вы можете использовать встроенную функцию sorted.

print sorted(['Stem', 'constitute', 'Sedge', 'Eflux', 'Whim', 'Intrigue'])
ответил Fatih Erikli 25 TueEurope/Moscow2012-12-25T21:10:39+04:00Europe/Moscow12bEurope/MoscowTue, 25 Dec 2012 21:10:39 +0400 2012, 21:10:39
0

Вы имеете дело со списком Python, и сортировать его так же просто, как и это.

my_list = ['Stem', 'constitute', 'Sedge', 'Eflux', 'Whim', 'Intrigue']
my_list.sort()
ответил Bryan 25 TueEurope/Moscow2012-12-25T21:10:00+04:00Europe/Moscow12bEurope/MoscowTue, 25 Dec 2012 21:10:00 +0400 2012, 21:10:00
0
>>> a = ()
>>> type(a)
<type 'tuple'>
>>> a = []
>>> type(a)
<type 'list'>
>>> a = {}
>>> type(a)
<type 'dict'>
>>> a =  ['Stem', 'constitute', 'Sedge', 'Eflux', 'Whim', 'Intrigue'] 
>>> a.sort()
>>> a
['Eflux', 'Intrigue', 'Sedge', 'Stem', 'Whim', 'constitute']
>>> 
ответил Abhijeet Rastogi 25 TueEurope/Moscow2012-12-25T21:11:22+04:00Europe/Moscow12bEurope/MoscowTue, 25 Dec 2012 21:11:22 +0400 2012, 21:11:22
0

ListName.sort() отсортирует их по алфавиту. Вы можете добавить reverse=False/True в скобках, чтобы изменить порядок элементов: ListName.sort(reverse=False)

ответил Crafter0800 9 +04002014-10-09T13:10:11+04:00312014bEurope/MoscowThu, 09 Oct 2014 13:10:11 +0400 2014, 13:10:11

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132