Сообщить об ошибке.

Функции для работы с последовательностями модуля operator в Python

Здесь представлены функции модуля operator, которые работают с последовательностями, а некоторые из них работают также со словарями.

Функции для работы с последовательностями можно разделить на четыре группы:

  • создание последовательностей,
  • поиск элементов,
  • доступ к содержимому,
  • удаление элементов из последовательностей.
operator.concat(a, b)
operator.__concat__(a, b):

Функция возвращает a + b для последовательностей a и b.

operator.contains(a, b)
operator.__contains__(a, b):

Функция возвращает результат проверки наличия/вхождения значения b в последовательность a. Обратите внимание на инверсию операндов в проведении теста.

operator.countOf(a, b):

Функция возвращает количество вхождений значения b в последовательность a.

operator.delitem(a, b)
operator.__delitem__(a, b):

Функция удаляет значение из последовательности a по индексу b.

operator.getitem(a, b)
operator.__getitem__(a, b):

Функция возвращает значение из последовательности a по индексу b.

operator.indexOf(a, b):

Функция возвращает индекс первого вхождения значения a в последовательность b.

operator.setitem(a, b, c)
operator.__setitem__(a, b, c):

Функция устанавливает в последовательность a по индексу b значение c.

operator.length_hint(obj, default=0):

Функция возвращает расчетную длина объекта obj.

Сначала попытается вернуть его фактическую длину, затем оценочную, используя object.__length_hint__() и наконец возвратит установленное значение по умолчанию default.

Примеры использования функций для работы с последовательностями.

from operator import *

a = [1, 2, 3]
b = ['a', 'b', 'c']

print('\nConstructive:')
print('  concat(a, b):', concat(a, b))

print('\nSearching:')
print('  contains(a, 1)  :', contains(a, 1))
print('  contains(b, "d"):', contains(b, "d"))
print('  countOf(a, 1)   :', countOf(a, 1))
print('  countOf(b, "d") :', countOf(b, "d"))
print('  indexOf(a, 5)   :', indexOf(a, 1))

print('\nAccess Items:')
print('  getitem(b, 1)                  :',
      getitem(b, 1))
print('  getitem(b, slice(1, 3))        :',
      getitem(b, slice(1, 3)))
print('  setitem(b, 1, "d")             :', end=' ')
setitem(b, 1, "d")
print(b)
print('  setitem(a, slice(1, 3), [4, 5]):', end=' ')
setitem(a, slice(1, 3), [4, 5])
print(a)

print('\nDestructive:')
print('  delitem(b, 1)          :', end=' ')
delitem(b, 1)
print(b)
print('  delitem(a, slice(1, 3)):', end=' ')
delitem(a, slice(1, 3))
print(a)

Результаты.

Constructive:
  concat(a, b): [1, 2, 3, 'a', 'b', 'c']

Searching:
  contains(a, 1)  : True
  contains(b, "d"): False
  countOf(a, 1)   : 1
  countOf(b, "d") : 0
  indexOf(a, 5)   : 0

Access Items:
  getitem(b, 1)                  : b
  getitem(b, slice(1, 3))        : ['b', 'c']
  setitem(b, 1, "d")             : ['a', 'd', 'c']
  setitem(a, slice(1, 3), [4, 5]): [1, 4, 5]

Destructive:
  delitem(b, 1)          : ['a', 'c']
  delitem(a, slice(1, 3)): [1]