Введение в язык Питон

         

Введение в списки.


Одним из мощнейших средств программирования Питона являются списки. Список содержит несколько элементов различных или одинаковых типов и может динамически изменять размер. Представим такую ситуацию: к вам в учреждение поступил новый сотрудник и вам необходимо добавить к уже существующим записям новую. Списки для этой цели подходят идеально. В Питоне очень просто организовать список:

>>> a = ['Да', 'Нет', 100, 1234] #Список состоит из разных типов >>> a ['Да', 'Нет', 100, 1234]

К отдельным элементам списка можно обращаться по индексу, аналогично индексам в строках:

>>> a[0] 'Да'

>>> a[3] 1234

>>> a[-2] 100

>>> a[1:-1] ['Нет', 100]

>>> a[:2] + ['Ой', 2*2] ['Да', 'Нет', 'Ой', 4]

>>> 3*a[:3] + ['Ай!'] ['Да', 'Нет', 100, 'Да', 'Нет', 100, 'Да', 'Нет', 100, 'Ай!']

В отличие от строк в Питоне вы можете изменять отдельные элементы списка по индексу(при этом учтите: чтобы удалить элемент из списка надо присвоить ему пустой список[]):

>>> a ['Да', 'Нет', 100, 1234]

>>> a[2] = a[2] + 23#Увеличиваем 100 на 23
>>> a ['Да', 'Нет', 123, 1234]

Возможно также присваивание частей списков частям другого списка ил целому списку. Возможно склеивание частей списков:

>>> # Заменим некоторые элементы ... a[0:2] = [1, 12] >>> a [1, 12, 123, 1234]

>>> # Удалим некоторые элементы ... a[0:2] = [] >>> a [123, 1234]

>>> # Теперь вставим ... a[1:1] = ['ёпрст', 'абвгд'] >>> a [123, 'ёпрст', 'абвгд', 1234]

>>> a[:0] = a # Вставим копию самого списка в начало списка >>> a [123, 'ёпрст', 'абвгд', 1234, 123, 'ёпрст', 'абвгд', 1234]

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

>>> len(a) 8

Возможно создание вложенных списков, т.е. списков, содержащих в качестве элементов другие списки:

>>> q = [2, 3]
>>> p = [1, q, 4] >>> len(p) 3



>>> p[1] [2, 3]

>>> p[1][0] 2

>>> p[1].append('вставление') # См далее(вставляет элемент в конец списка) >>> p [1, [2, 3, 'вставление'], 4]

>>> q [2, 3, 'вставление']

Внимание: p[1] и q ссылаются на один и тот же объект(к этому я вернусь далее).



Содержание раздела