Как в Python отсортировать список?

У меня есть список a = [6, 3, 7, 3, 6 , 0, 8] для примера. Как сделать так, чтобы было a = [0, 3, 3, 6, 6, 7, 8]

То есть, потом я переберу этот список:

i = 0
while i < len(a):
    print(a[i])
    a += 1

Как это сделать?


Ответы (4 шт):

Автор решения: Werryx

Массив сортируется при помощи a.sort() и запомните print(a.sort()) будет None, то есть .sort() ничего не возращает

И ещё вы перебираете при помощи цикла while, хотя можно и при помощи for:

for i in a:
    print(i)
→ Ссылка
Автор решения: Danis

Если надо не менять исходный список, а получить новый то лучше использовать sorted

a = [6, 3, 7, 3, 6 , 0, 8]
new_a = sorted(a) 

также у вас неправильно сделан цикл while. Он должен быть таким:

i = 0
while i < len(a):
    print(a[i])
    i += 1

Но лучше использовать цикл for

for el in sorted(a):
    print(el)

Если вам нужен индекс элемента, то так:

a = sorted(a) 
for i in range(len(a)):
    print(i, a[i]) 

также можно использовать enumerate

for i, el in enumerate(sorted(a)):
    print(i, el) 
→ Ссылка
Автор решения: FotonPC

Пусть:

a = [6, 3, 7, 3, 6 , 0, 8]

Тогда его можно отсортировать 2 способами:

a = sorted(a)

Или:

a.sort()

Получиться:

print(' '.join(map(str,a)))

Вывод:

0 3 3 6 6 7 8
→ Ссылка
Автор решения: ino77

Что бы отсортировать список достаточно использовать

sort(a)
→ Ссылка