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

80

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

Если все элементы вашего списка одного типа (в списке marxes находятся толь-

ко строки), функция sort() отработает корректно. Иногда можно даже смешать

типы — например, целые числа и числа с плавающей точкой, — поскольку в рамках

выражений они конвертируются автоматически:

>>> numbers = [2, 1, 4.0, 3]

>>> numbers.sort()

>>> numbers

[1, 2, 3, 4.0]

По умолчанию список сортируется по возрастанию, но вы можете добавить

аргумент reverse=True, чтобы отсортировать список по убыванию:

>>> numbers = [2, 1, 4.0, 3]

>>> numbers.sort(reverse=True)

>>> numbers

[4.0, 3, 2, 1]

Получение длины списка

с помощью функции len()

Функция len() возвращает количество элементов списка:

>>> marxes = ['Groucho', 'Chico', 'Harpo']

>>> len(marxes)

3

Присваивание с помощью оператора =,

копирование с помощью функции copy()

Если вы присваиваете один список более чем одной переменной, изменение списка

в одном месте повлечет за собой его изменение в остальных, как показано далее:

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

>>> a

[1, 2, 3]

>>> b = a

>>> b

[1, 2, 3]

>>> a[0] = 'surprise'

>>> a

['surprise', 2, 3]

Что же находится в переменной b? Ее значение все еще равно [1, 2, 3] или из-

менилось на ['surprise', 2, 3]? Проверим:

>>> b

['surprise', 2, 3]

Кортежи

81

Помните аналогию со стикерами в главе 2? b просто ссылается на тот же список

объектов, что и а, поэтому, независимо от того, с помощью какого имени мы из-

меняем содержимое списка, изменение отразится на обеих переменных:

>>> b

['surprise', 2, 3]

>>> b[0] = 'I hate surprises'

>>> b

['I hate surprises', 2, 3]

>>> a