Как в 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 шт):
Массив сортируется при помощи a.sort() и запомните print(a.sort()) будет None, то есть .sort() ничего не возращает
И ещё вы перебираете при помощи цикла while, хотя можно и при помощи for:
for i in a:
print(i)
Если надо не менять исходный список, а получить новый то лучше использовать 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)
Пусть:
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