31 августа 2012 г.

Списки, основа


Списки 
В данном посте будет коротко описаны основы списков.

Список=["первый объект","второй объект",3,4,"5й объект"]
>>>Список
['первый объект','второй объект',3,4,'5й объект']


Списки - упорядоченный, последовательны набор коллекций объектов произвольных типов и неограниченного размера. По сравнению со строками, списки - изменяемый тип, могут изменятся операторами присваивания по смещениям и различными методами работы со списками.




>>>L=["obj1",2,"obj3"]  # инициализация, создание списка
Как видно, список в себе содержит объекты, занесенные в квадратные скобки. Объекты могут быть разного типа (строки,числа,списки).

>>>len(L)  # вернет число элементов в списке L  
3

>>>L[0]  # доступ к элементу списка по его индексу 0 - первый символ
'obj1'

>>>L[:-1]  # срезается последний объект в списке
['obj1',2]

>>>L+[1,2]  # конкатенация списка
['obj1',2,'obj3',1,2]
Таким способом можно добавлять к списку только списки, в результате получаем новый список из 2х списков.

>>>L  # проверка на изменение списка L
['obj1',2,'obj3']
Список не изменился.

Далее...

>>>L.append('Hi')  # Добавление нового объекта в конец списка
>>>L
['obj1',2,'obj3','Hi']
В отличие от конкатенации, функция append() изменяет оригинальный список и добавляет объект в конец списка.

>>>L.pop(2)  #  Удаление из списка объекта с индексом 2 (del L[2] - как аналог)
'obj3'
>>>L
['obj1',2,'Hi']
После ввода L.pop(2), в консоли отображается удаляемый объект 'obj3'. Проверяем наш список, видим, что теперь он не содержит объект 'obj3'.

>>>O=['bb','aa','cc']
>>>O.sort()
['aa','bb','cc']
Да да, вы правильно поняли, получаем сортированный список по возрастанию, есть метод reverse O.reverse(), который вернет отсортированный список по убыванию. Изменяется сам список, а не создается новый.

Если ввести индекс который не находится в списке, тогда получим ошибку, к примеру список из 3х объектов при обращении к нeму в таком виде List[99] мы получим ошибку.

Как я писал выше, списки могут содержать в себе другие списки (вложенные списки), вот вам пример:
Инициализация/создание:
>>>Dl=[[1,2,3],
       [4,5,6],
       [7,8,9]]
Получаем матрицу 3х3, списки можно писать в несколько строк оставляя в конце строки запятую.
>>>Dl[2] # получаем 3ю строку
[7,8,9]
>>>Dl[2][1] #  в 3й строке получаем 2й элемент
[8]

Вот впринципе и все основы списков в Python которые желательно запомнить...
Cпасибо за внимание, следующий урок будет посвящен словарям.

Комментариев нет:

Отправить комментарий