Список сортировки структуры данных 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)