Списки в действии
Теперь вы можете легко поменять местами элементы списка, чтобы изменить их порядок:
my_list = [10, 1, 8, 3, 5]
my_list [0], my_list [4] = my_list [4], my_list [0]
my_list [1], my_list [3] = my_list [3], my_list [1]
print(my_list)
Запустите код. Его результат должен выглядеть так:
[5, 3, 8, 1, 10]
вывод
Прекрасно смотрится с пятью элементами.
Будет ли это приемлемо со списком из 100 элементов? Нет, не будет.
Можно ли использовать цикл for
для автоматического выполнения того же самого, независимо от длины списка? Да, можно.
Вот как мы это сделали:
my_list = [10, 1, 8, 3, 5]
length = len(my_list)
for i in range(length // 2):
my_list [i], my_list [length - i - 1] = my_list [length - i - 1], my_list [i]
print(my_list)
Примечание:
- мы присвоили переменной
length
длину текущего списка (это делает наш код немного чище и короче) - мы запустили цикл
for
для прохождения его телаlength // 2
раз (это хорошо работает для списков как с четной, так и с нечетной длиной, потому что когда список содержит нечетное количество элементов, элемент в середине списка остается нетронутым) - мы заменили i-й (с начала списка) элемент на элемент с индексом, равным
(length - i - 1)
(с конец списка); в нашем примере дляi
, равного0
,(length - i - 1)
дает4
; дляi
, равного1
, это дает3
- это именно то, что нам нужно.
Списки чрезвычайно полезны, и вы будете встречать их очень часто.