В серии: Библиотека alt м. В. Сысоева, И. В. Сысоев
Download 0.87 Mb.
|
Боши Лекция Парадигма и методы программирование
2.4. Списки>>> list1[0] + list1[1] ’Py’ >>> list1[0] ’P’ >>> list1[0:5] [’P’, ’y’, ’th’, ’o’, ’n’] >>> list1[5:] [3.4] >>> (list1) < ’list’> Обратите внимание, что нумерация элементов всегда начинается с нуля, поэтому нулевой элемент это ’P’. В отличие от строк, списки — это изменяемые последовательности. Если представить строку как объект в памяти, то когда над ней выполняются операции конкатенации и повторения, то эта строка не меняется, а в результате операции создаётся другая строка в другом месте памяти. В строку нельзя добавить новый символ или удалить существующий, не создав при этом новой строки. Со списком дело обстоит иначе. При выполнении операций новые списки могут не создаваться, а будет изменяться непосредственно оригинал. Из списков можно удалять элементы, добавлять новые. При этом следует помнить, многое зависит от того, как вы распоряжаетесь переменными. Символ в строке изменить нельзя, элемент списка — можно: >>> mystr = ’Python’ >>> mylist = [’P’, ’y’, ’t’, ’h’, ’o’, ’n’] >>> mystr[1] = ’i’ Traceback (most recent call last):
В списке можно заменить целый срез: >>> mylist[:3] = [’Y’, ’e’, ’s’] >>> mylist [’Y’, ’e’, ’s’, ’h’, ’o’, ’n’] Для списка можно создавать его копию: >>> list1 = [’P’,’y’,’t’,’h’,’o’,’n’] >>> list2 = list1.copy() #Создание копии списка >>> list2[1] = ’i’ >>> list2, list1 ([’P’, ’i’, ’t’, ’h’, ’o’, ’n’], [’P’, ’y’, ’t’, ’h’, ’o’, ’n’]) Список list2 изменился, а список list1 — нет. Для списка можно создать вторую ссылку на список. Внимание! При создании второй ссылки данные не копируются, просто эти данные теперь имеют два имени, поэтому изменение list1 будет приводить к изменению list2: >>> list2 = list1 #Создание второй ссылки, а не копии >>> list2[1] = ’i’ >>> list2, list1 ([’P’,’i’,’t’,’h’,’o’,’n’], [’P’,’i’,’t’,’h’,’o’,’n’]) Изменились оба списка. Для создания копии предусмотрен более простой синтаксис, нежели использование стандартного метода copy: достаточно взять срез списка от начала и до конца: list3 = list1[:] эквивалентно тому, что мы написали бы list3 = list1.copy(). Таблица 2.6. Методы списка
Download 0.87 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling