Module (77%)
Section (20%)

Могучие срезы

К счастью, решение всегда у вас под рукой - оно называется срез.

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

Фактически он копирует содержимое списка, а не его имя.

Это именно то, что вам нужно. Взгляните на приведенный ниже фрагмент кода:

list_1 = [1] list_2 = list_1[:] list_1[0] = 2 print(list_2)

Он выведет [1].

Эта незаметная часть кода, описанная как [:], может создавать совершенно новый список.


Одна из наиболее общих форм среза выглядит следующим образом:

my_list[start:end]

Как видите, это похоже на индексацию, но двоеточие внутри имеет большое значение.

Срез этой формы создает новый (целевой) список, беря элементы из исходного списка - элементы с индексами от начала до end - 1.

Примечание: не до end, а до end - 1. Элемент с индексом, равным end, является первым элементом, не участвующим в нарезке.

Возможно использование отрицательных значений как для начала, так и для конца (как при индексации).

Посмотрите на фрагмент кода:

my_list = [10, 8, 6, 4, 2] new_list = my_list[1:3] print(new_list)

В списке new_list будет end - start (3 - 1 = 2) элементов - с индексами, равными 1 и 2 (но не 3).

Вывод кода: [8, 6]


Code

# Copying the entire list.
list_1 = [1]
list_2 = list_1[:]
list_1[0] = 2
print(list_2)

# Copying some part of the list.
my_list = [10, 8, 6, 4, 2]
new_list = my_list[1:3]
print(new_list)
{{ dockerServerErrorMsg }} ×
{{ errorMsg }} ×
{{ successMsg }} ×