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

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

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

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

6 ответов


[] обозначает список, () обозначает кортежа!--13--> и {} обозначает словарь. Вы должны взглянуть на официальный учебник Python как это самые основы программирования на Python.

у вас есть список строк. Вы можете отсортировать его следующим образом:

In [1]: lst = ['Stem', 'constitute', 'Sedge', 'Eflux', 'Whim', 'Intrigue']

In [2]: sorted(lst)
Out[2]: ['Eflux', 'Intrigue', 'Sedge', 'Stem', 'Whim', 'constitute']

как вы можете видеть, слова, которые начинаются с заглавной буквы, получают предпочтение перед словами, начинающимися с нижнего регистра письмо. Если вы хотите сортировать их самостоятельно, сделайте следующее:

In [4]: sorted(lst, key=str.lower)
Out[4]: ['constitute', 'Eflux', 'Intrigue', 'Sedge', 'Stem', 'Whim']

вы также можете отсортировать список в обратном порядке, делая это:

In [12]: sorted(lst, reverse=True)
Out[12]: ['constitute', 'Whim', 'Stem', 'Sedge', 'Intrigue', 'Eflux']

In [13]: sorted(lst, key=str.lower, reverse=True)
Out[13]: ['Whim', 'Stem', 'Sedge', 'Intrigue', 'Eflux', 'constitute']

обратите внимание: если вы работаете с Python 3, то str является правильным типом данных для каждой строки, содержащей читаемый человеком текст. Однако, если вам все еще нужно работать с Python 2, Вы можете иметь дело со строками unicode, которые имеют тип данных unicode в Python 2, а не str. В таком случае, если у вас есть список строк unicode, вы должны написать key=unicode.lower вместо key=str.lower.


Python имеет встроенную функцию sorted, который даст вам отсортированный список из любой итерации, которую вы подаете (например, список ([1,2,3]); а дикт ({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]

оба также принимают


Вы можете использовать встроенный


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

my_list = ['Stem', 'constitute', 'Sedge', 'Eflux', 'Whim', 'Intrigue']
my_list.sort()

>>> 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']
>>> 

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