В глубь языка Python


Списки - часть 4


Пример 1.20. Удаление элементов из списка

>>> li ['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements'] >>> li.remove("z")

1

>>> li ['a', 'b', 'new', 'mpilgrim', 'example', 'new', 'two', 'elements'] >>> li.remove("new")

2

>>> li ['a', 'b', 'mpilgrim', 'example', 'new', 'two', 'elements'] >>> li.remove("c")

3

Traceback (innermost last): File "<interactive input>", line 1, in ? ValueError: list.remove(x): x not in list >>> li.pop()

4

'elements' >>> li ['a', 'b', 'mpilgrim', 'example', 'new', 'two']

Метод remove удаляет из списка первый элемент с указанным значением.
remove удаляет только один элемент. В данном случае строка "new" присутствует в списке дважды, но li.remove("new") удалит только первую.
Если элемент с указанным значением в списке не найден, remove, как и index, генерирует исключение.
Метод pop выполняет сразу два действия: удаляет последний элемент из списка и возвращает его. Этим он отличается от li[-1], возвращающего последний элемент, но не изменяющего список, и li.remove(value), изменяющего список, но не возвращающего элемент.

Пример 1.21. Применение операторов к спискам

>>> li = ['a', 'b', 'mpilgrim'] >>> li = li + ['example', 'new']

1

>>> li ['a', 'b', 'mpilgrim', 'example', 'new'] >>> li += ['two']

2

>>> li ['a', 'b', 'mpilgrim', 'example', 'new', 'two'] >>> li = [1, 2] * 3

3

>>> li [1, 2, 1, 2, 1, 2]

С помощью оператора + можно “склеивать” списки. list = list + otherlist эквивалентно list.extend(otherlist), но при этом создается новый список, в то время как extend изменяет существующий.
Python поддерживает операцию +=. li += ['two'] полностью эквивалентно li.extend(['two']). Операция += работает для списков, строк, чисел и может быть переопределена для классов (более подробно о классах читайте в главе 3).
Оператор * размножает элементы списка. li = [1, 2] * 3 эквивалентно li = [1, 2] + [1, 2] + [1, 2].

Дополнительная литература

  • обучает работе со списками и делает важные замечания по поводу .
  • показывает, как .
  • отвечает на и содержит множество .
  • описывает .




Начало  Назад  Вперед