How to delete the middle element from a deque in Python

1 Answer

0 votes
from collections import deque

def delete_middle(dq):
    n = len(dq)
    if n == 0:
        return

    mid = n // 2   # 0-based index of middle
    temp = deque()

    # Move first half into temp
    for _ in range(mid):
        temp.append(dq.popleft())

    # Remove the middle element
    dq.popleft()

    # Restore the elements
    while temp:
        dq.appendleft(temp.pop())


from collections import deque

dq = deque([1, 2, 3, 4, 5, 6, 7])
delete_middle(dq)

print(dq)   




'''
run:

deque([1, 2, 3, 5, 6, 7])

'''

 



answered Dec 24, 2025 by avibootz
...