Основные тезисы
1. Если у вас есть список list_1
, то следующее присваивание: list_2 = list_1
не создает копию списка list_1
, оно делает так, что переменные list_1
и list_2
указывают на один и тот же список в памяти. Например:
vehicles_one = ['car', 'bicycle', 'motor']
print(vehicles_one) # outputs: ['car', 'bicycle', 'motor']
vehicles_two = vehicles_one
del vehicles_one[0] # deletes 'car'
print(vehicles_two) # outputs: ['bicycle', 'motor']
2. Если вы хотите скопировать список или его часть, вы можете сделать это, используя срез:
colors = ['red', 'green', 'orange']
copy_whole_colors = colors[:] # copy the entire list
copy_part_colors = colors[0:2] # copy part of the list
3. Вы также можете использовать отрицательные индексы для выполнения срезов. Например:
sample_list = ["A", "B", "C", "D", "E"]
new_list = sample_list[2:-1]
print(new_list) # outputs: ['C', 'D']
4. Параметры start
и end
являются необязательными при выполнении среза: list[start:end]
, например:
my_list = [1, 2, 3, 4, 5]
slice_one = my_list[2: ]
slice_two = my_list[ :2]
slice_three = my_list[-2: ]
print(slice_one) # outputs: [3, 4, 5]
print(slice_two) # outputs: [1, 2]
print(slice_three) # outputs: [4, 5]
5. Вы можете удалить фрагменты с помощью инструкции del
:
my_list = [1, 2, 3, 4, 5]
del my_list[0:2]
print(my_list) # outputs: [3, 4, 5]
del my_list[:]
print(my_list) # deletes the list content, outputs: []
6. Вы можете проверить, существуют ли какие-либо элементы в списке или нет, используя ключевые слова in
и not in
, например:
my_list = ["A", "B", 1, 2]
print("A" in my_list) # outputs: True
print("C" not in my_list) # outputs: True
print(2 not in my_list) # outputs: False
Упражнение 1
Что выведет следующий код?
list_1 = ["A", "B", "C"]
list_2 = list_1
list_3 = list_2
del list_1[0]
del list_2[0]
print(list_3)
Упражнение 2
Что выведет следующий код?
list_1 = ["A", "B", "C"]
list_2 = list_1
list_3 = list_2
del list_1[0]
del list_2
print(list_3)
Упражнение 3
Что выведет следующий код?
list_1 = ["A", "B", "C"]
list_2 = list_1
list_3 = list_2
del list_1[0]
del list_2[:]
print(list_3)
Упражнение 4
Что выведет следующий код?
list_1 = ["A", "B", "C"]
list_2 = list_1[:]
list_3 = list_2[:]
del list_1[0]
del list_2[0]
print(list_3)
Упражнение 5
Вставьте in
или not in
вместо ???
, чтобы код вывел ожидаемый результат.
my_list = [1, 2, "in", True, "ABC"]
print(1 ??? my_list) # outputs True
print("A" ??? my_list) # outputs True
print(3 ??? my_list) # outputs True
print(False ??? my_list) # outputs False