Похоже, вы изучаете алгоритмы сортировки. Один из простейших методов сортировки - пузырьковая сортировка . По сути, он просто просматривает список и просматривает каждую соседнюю пару значений. Если они не в правильном порядке, мы меняем их местами. Затем мы продолжаем проходить по списку, пока больше не останется никаких свопов, и все готово. Это не самая эффективная сортировка, но ее очень просто закодировать и понять:
values = ['hello', 'world', 'and', 'practice', 'makes', 'perfect', 'again']
def bubblesort(values):
'''Sort a list of values using bubblesort.'''
sorted = False
while not sorted:
sorted = True
# take a pass through every pair of values in the list
for index in range(0, len(values)-1):
if values[index] > values[index+1]:
# if the left value is greater than the right value, swap them
values[index], values[index+1] = values[index+1], values[index]
# also, this means the list was NOT fully sorted during this pass
sorted = False
print(f'Original: {values}')
bubblesort(values)
print(f'Sorted: {values}')
## OUTPUT ##
# Original: ['hello', 'world', 'and', 'practice', 'makes', 'perfect', 'again']
# Sorted: ['again', 'and', 'hello', 'makes', 'perfect', 'practice', 'world']
Есть еще много алгоритмов сортировки от до узнайте о и у каждого из них есть свои сильные и слабые стороны - некоторые быстрее других, некоторые занимают больше памяти и т. д. c. Это увлекательный материал, и стоит узнать больше о темах компьютерных наук. Но если вы разработчик, работающий над проектом, если у вас нет очень специфических требований c, вам, вероятно, следует просто использовать встроенные алгоритмы сортировки Python и двигаться дальше:
values = ['hello', 'world', 'and', 'practice', 'makes', 'perfect', 'again']
print(f'Original: {values}')
values.sort()
print(f'Sorted: {values}')
## OUTPUT ##
# Original: ['hello', 'world', 'and', 'practice', 'makes', 'perfect', 'again']
# Sorted: ['again', 'and', 'hello', 'makes', 'perfect', 'practice', 'world']