Фрагмент Python 2: быстрое изменение последовательности

Списки Python имеют удобный метод, называемый reverse, но это не всегда то, что мы хотим. Во-первых, мы не можем использовать его для других типов последовательностей, таких как кортежи и строки, и он также выполняет модификацию исходной последовательности на месте.

Используя срезы, мы можем обойти эти ограничения, обращая любую последовательность, которая нам нравится, прежде чем назначать ее новой переменной. Если мы хотим использовать одно и то же имя переменной, конечно, мы можем, поскольку Python позволяет нам привязывать имена к новым объектам по желанию.

friends = ["Rolf", "John", "Mary"]
friends_reversed = friends[::-1]
print(friends_reversed) 

greet = "Hello, World!"
print(greet[::-1]) 

Этот метод использует расширенные срезы для перехода по последовательности назад, создавая новую последовательность, содержащую все элементы исходной последовательности.

Хотя все это довольно аккуратно, только потому, что мы можем что-то сделать, это не значит, что мы должны это делать. При работе со списками вы почти всегда будете использовать гораздо более удобочитаемый reverse метод. Вы можете найти документацию для него здесь.

Для других типов последовательностей это обращение среза очень лаконично и может быть лучшим вариантом.

Если вы хотите узнать больше о срезах, у нас есть два поста, в которых подробно рассказывается о том, как они работают: Часть 1, Часть 2.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *