Списки — изменяемые последовательности.
Списки могут состоять из различных объектов: чисел, строк и даже других списков. В последнем случае, списки называют вложенными.
[23, 656, -20, 67, -45] # список целых чисел [4.15, 5.93, 6.45, 9.3, 10.0, 11.6] # список из дробных чисел ["Katy", "Sergei", "Oleg", "Dasha"] # список из строк ["Москва", "Титова", 12, 148] # смешанный список [[0, 0, 0], [0, 0, 1], [0, 1, 0]] # список, состоящий из списков
>>> [45, -12, 'april'] + [21, 48.5, 33] [45, -12, 'april', 21, 48.5, 33] >>> [[0,0],[0,1],[1,1]] * 2 [[0, 0], [0, 1], [1, 1], [0, 0], [0, 1], [1, 1]] >>>
>>> li = ['a','b','c','d','e','f'] >>> len(li) 6 >>> li[0] 'a' >>> li[4] 'e' >>> li[0:3] ['a', 'b', 'c'] >>> li[3:] ['d', 'e', 'f'] >>>
Символ в строке изменить нельзя, элемент списка — можно:
>>> mystr = 'abrakadabra' >>> mylist = ['ab','ra','ka','da','bra'] >>> mystr[3] = '0' Traceback (most recent call last): File "<pyshell#11>", line 1, in <module> mystr[3] = '0' TypeError: 'str' object does not support item assignment >>> mylist[1] = 'ro' >>> mylist ['ab', 'ro', 'ka', 'da', 'bra'] >>>
>>> mylist[0:2] = [10,20] >>> mylist [10, 20, 'ka', 'da', 'bra'] >>>
>>> alist = mylist[0:2] + [100,'it is ',200] + mylist[2:] # новый список >>> a2list = mylist # создается вторая ссылка-переменная на первый список >>> alist [10, 20, 100, 'it is ', 200, 'ka', 'da', 'bra'] >>> a2list [10, 20, 'ka', 'da', 'bra'] >>> a2list[0] = '!!!' # изменяем список >>> a2list ['!!!', 20, 'ka', 'da', 'bra'] >>> mylist # обе переменные связаны с одним списком ['!!!', 20, 'ka', 'da', 'bra'] >>>
Практическая работа
- Создайте два любых списка и свяжите их с переменными.
- Извлеките из первого списка второй элемент.
- Измените во втором списке последний объект. Выведите список на экран.
- Соедините оба списка в один, присвоив результат новой переменной. Выведите получившийся список на экран.
- "Снимите" срез из соединенного списка так, чтобы туда попали некоторые части обоих первых списков. Срез свяжите с очередной новой переменной. Выведите значение этой переменной.
- Добавьте в список-срез два новых элемента и снова выведите его.