Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 57

['I hate surprises', 2, 3]

Вы можете скопировать значения в независимый новый список с помощью

одного из следующих методов:

 функции copy();

 функции преобразования list();

 разбиения списка [:].

Оригинальный список снова будет присвоен переменной а. Мы создадим b с по-

мощью функции списка copy(), c — с помощью функции преобразования list(),

а d — с помощью разбиения списка:

>>> a = [1, 2, 3]

>>> b = a.copy()

>>> c = list(a)

>>> d = a[:]

Опять же b, c и d являются копиями a — это новые объекты, имеющие свои зна-

чения, не связанные с оригинальным списком объектов [1, 2, 3], на который ссы-

лается a. Изменение a не повлияет на копии b, c и d:

>>> a[0] = 'integer lists are boring'

>>> a

['integer lists are boring', 2, 3]

>>> b

[1, 2, 3]

>>> c

[1, 2, 3]

>>> d

[1, 2, 3]

Кортежи

Кортежи, как и списки, являются последовательностями произвольных элементов.

В отличие от списков кортежи неизменяемы. Это означает, что вы не можете до-

бавить, удалить или изменить элементы кортежа после того, как определите его.

Поэтому кортеж аналогичен константному списку.

82

Глава 3. Наполнение Python: списки, кортежи, словари и множества

Создание кортежей с помощью оператора ()

Синтаксис создания кортежей несколько необычен, как мы увидим в следу ющих

примерах.

Начнем с создания пустого кортежа с помощью оператора ():

>>> empty_tuple = ()

>>> empty_tuple

()

Чтобы создать кортеж, содержащий один элемент или более, ставьте после

каждого элемента запятую. Это вариант для кортежей с одним элементом:

>>> one_marx = 'Groucho',

>>> one_marx

('Groucho',)

Если в вашем кортеже более одного элемента, ставьте запятую после каждого

из них, кроме последнего:

>>> marx_tuple = 'Groucho', 'Chico', 'Harpo'

>>> marx_tuple

('Groucho', 'Chico', 'Harpo')

При отображении кортежа Python выводит на экран скобки. Вам они совсем