Глава 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