Рубрики

Deque in Python

Deque может быть реализован на python с помощью модуля « коллекции ». Deque предпочтительнее, чем list, в тех случаях, когда нам нужны более быстрые операции добавления и вытягивания из обоих концов контейнера, поскольку deque обеспечивает сложность времени O (1) для операций добавления и выталкивания по сравнению со списком, который обеспечивает сложность времени O (n). ,

Операции на деке:

1. append () : — Эта функция используется для вставки значения в его аргументе в правый конец deque.

2. appendleft () : — Эта функция используется для вставки значения аргумента в левый конец deque.

3. pop () : — Эта функция используется для удаления аргумента из правого конца deque.

4. popleft () : — Эта функция используется для удаления аргумента из левого конца deque.

# Python-код для демонстрации работы
# append (), appendleft (), pop () и popleft ()

  
# импорт "коллекций" для операций deque

import collections

  
# инициализация deque

de = collections.deque([1,2,3])

  
# используя append () для вставки элемента в правый конец
# вставляет 4 в конце deque

de.append(4)

  
# печать измененного бланка

print ("The deque after appending at right is : ")

print (de)

  
# используя appendleft () для вставки элемента в правый конец
# вставляет 6 в начале deque

de.appendleft(6)

  
# печать измененного бланка

print ("The deque after appending at left is : ")

print (de)

  
# использование pop () для удаления элемента с правого конца
# удаляет 4 из правого конца deque
de.pop()

  
# печать измененного бланка

print ("The deque after deleting from right is : ")

print (de)

  
# использование popleft () для удаления элемента с левого конца
# удаляет 6 из левого конца deque
de.popleft()

  
# печать измененного бланка

print ("The deque after deleting from left is : ")

print (de)

Выход:

The deque after appending at right is : 
deque([1, 2, 3, 4])
The deque after appending at left is : 
deque([6, 1, 2, 3, 4])
The deque after deleting from right is : 
deque([6, 1, 2, 3])
The deque after deleting from left is : 
deque([1, 2, 3])

5. index (ele, beg, end) : — Эта функция возвращает первый индекс значения, указанного в аргументах, начиная поиск с начала до конца index.

6. insert (i, a) : — Эта функция вставляет значение, указанное в аргументах (a), по индексу (i), указанному в аргументах.

7. remove () : — Эта функция удаляет первое вхождение значения, указанного в аргументах.

8. count () : — Эта функция подсчитывает количество вхождений значения, указанного в аргументах.

# Python-код для демонстрации работы
# insert (), index (), remove (), count ()

  
# импорт "коллекций" для операций deque

import collections

  
# инициализация deque

de = collections.deque([1, 2, 3, 3, 4, 2, 4])

  
# используя index (), чтобы напечатать первое вхождение 4

print ("The number 4 first occurs at a position : ")

print (de.index(4,2,5))

  
# используя insert () для вставки значения 3 в 5-ю позицию

de.insert(4,3)

  
# печать измененного бланка

print ("The deque after inserting 3 at 5th position is : ")

print (de)

  
# используя count () для подсчета вхождений 3

print ("The count of 3 in deque is : ")

print (de.count(3))

  
# используя remove (), чтобы удалить первое вхождение 3

de.remove(3)

  
# печать измененного бланка

print ("The deque after deleting first occurrence of 3 is : ")

print (de)

Выход:

The number 4 first occurs at a position : 
4
The deque after inserting 3 at 5th position is : 
deque([1, 2, 3, 3, 3, 4, 2, 4])
The count of 3 in deque is : 
3
The deque after deleting first occurrence of 3 is : 
deque([1, 2, 3, 3, 4, 2, 4])

9. extension (итерируемый) : — Эта функция используется для добавления нескольких значений в правом конце deque. Переданный аргумент является итеративным.

10. exteleft (итерируемый) : — эта функция используется для добавления нескольких значений в левой части deque. Переданный аргумент является итеративным. Порядок отменяется в результате левого добавления.

11. reverse () : — Эта функция используется для изменения порядка элементов deque.

12. rotate () : — Эта функция вращает deque на число, указанное в аргументах. Если указанное число является отрицательным, вращение происходит влево. Остальное вращение направо.

# Python-код для демонстрации работы
# extended (), exteleft (), rotate (), reverse ()

  
# импорт "коллекций" для операций deque

import collections

  
# инициализация deque

de = collections.deque([1, 2, 3,])

  
# используя extend () для добавления чисел в правый конец
# добавляет 4,5,6 к правому концу

de.extend([4,5,6])

  
# печать измененного бланка

print ("The deque after extending deque at end is : ")

print (de)

  
# используя exteleft () для добавления чисел в левый конец
# добавляет 7,8,9 к правому концу

de.extendleft([7,8,9])

  
# печать измененного бланка

print ("The deque after extending deque at beginning is : ")

print (de)

  
# используя rotate () чтобы повернуть деку
# поворачивается на 3 влево

de.rotate(-3)

  
# печать измененного бланка

print ("The deque after rotating deque is : ")

print (de)

  
# с помощью reverse () повернуть деку
de.reverse()

  
# печать измененного бланка

print ("The deque after reversing deque is : ")

print (de)

Выход :

The deque after extending deque at end is : 
deque([1, 2, 3, 4, 5, 6])
The deque after extending deque at beginning is : 
deque([9, 8, 7, 1, 2, 3, 4, 5, 6])
The deque after rotating deque is : 
deque([1, 2, 3, 4, 5, 6, 9, 8, 7])
The deque after reversing deque is : 
deque([7, 8, 9, 6, 5, 4, 3, 2, 1])

Эта статья предоставлена Манджитом Сингхом . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.

Рекомендуемые посты:

Deque in Python

0.00 (0%) 0 votes