Изучаем Python. №3. Списки


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

Список может состоять из различных элементов разного типа: как строк, так и чисел.

>>> L = [423, 'hello', 52.6]
 >>> print (L[0]) # Обращение к элементу списка по его индексу
 423
 >>> print (L[:-1]) # Операция получения среза возвращает новый список
 [423, 'hello']
 >>> print (L+[1,2,3]) # Операция конкатенации, тоже возвращает новый список
 [423, 'hello', 52.6, 1, 2, 3]

Но при этом список не изменился, а показывал лишь результат вышеупомянутых действий:

>>> L
 [423, 'hello', 52.6]

Методы списков

append() — вставляет в конец списка новый элемент

>>> t = [1,'ok',34]
>>> t.append('yes')
>>> print(t)
[1, 'ok', 34, 'yes']

pop() — удаляет последний элемент из списка и возвращает его значение, но можно удалить по индексу элемента t.pop([2]).

>>> t.pop(0)
1
>>> print(t)
['ok', 34, 'yes']

insert(i,x) — Добавление элемента х в список по индексу i.

>>> t.insert(0,22)
>>> print(t)
[22, 'ok', 34, 'yes']

t.extend(L) — расширяет список t, добавляя в конец все значения списка L.

>>> t.extend(L)
>>> print(t)
[22, 'ok', 34, 'yes', 423, 'hello', 52.6]

t.remove(x) — удаляет первый по значению элемент из списка (можно del t[3])

>>> t.remove('yes')
>>> print(t)
[22, 'ok', 34, 423, 'hello', 52.6]

Если бы в списке было два значения ‘yes’, то удалилось бы только первое

t.count(x) — возвращает количество элементов х в списке.

>>> t.count(34)
1

t.index(x) — показывает индекс (положение) элемента в списке

>>> t.index(34)
2

len(t) — количество значений в списке (длина списка)

>>> print len(t)
6

max(t) — максимальное значение списка

>>> a = [10, 2, 11, 4, 5]
>>> print max(a)
11

min(t) — минимальное значение списка

>>> print min(a)
2

Сортировка значений списка в Python

sort() — сортировка значений списка от большего к меньшему

>>> a.sort()
>>> print a
[2, 4, 5, 10, 11]

reverse() — переворачивает список с заду на перед

a.reverse()
>>> print a
[11, 10, 5, 4, 2]

Вложенные списки

Пример программы:

mass = [[1,2,3],
        [5,2,7],
        [7,7,9],] # получили матрицу 3х3

print (mass) # Выводит все списки в строку
print (mass[1]) # Обращение ко всторому списку
print (mass[1][1]) # обращение ко второму элементу второго списка

Результат:

[[1, 2, 3], [5, 2, 7], [7, 7, 9]]
[5, 2, 7]
2

Оздание списков:
Можно обработать любой итерируемый объект (например, строку) встроенной функцией list():

>>> list('список')
['с', 'п', 'и', 'с', 'о', 'к']

Еще существует генератор списков. Он похож на цикл for и способен создать список из выражения:

>>> gen = [gen*3 for gen in 'helo']
>>> gen
['hhh', 'eee', 'lll', 'ooo']

Можем немного усложнить задачу, убрав один элемент из генерируемого списка:

>>> y = [y * 3 for y in 'hello' if y != 'l']
>>> y
['hhh', 'eee', 'ooo']

На этом пока все. Все вопросы, замечания и предложения прошу оставлять в комментариях.

http://o-g-o-r-o-d.ru/category/kartofel/

Введи свой e-mail:

3 thoughts on “Изучаем Python. №3. Списки

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *