this post was submitted on 18 Mar 2024
13 points (88.2% liked)

Python

6412 readers
2 users here now

Welcome to the Python community on the programming.dev Lemmy instance!

πŸ“… Events

PastNovember 2023

October 2023

July 2023

August 2023

September 2023

🐍 Python project:
πŸ’“ Python Community:
✨ Python Ecosystem:
🌌 Fediverse
Communities
Projects
Feeds

founded 1 year ago
MODERATORS
top 4 comments
sorted by: hot top controversial new old
[–] [email protected] 3 points 8 months ago (3 children)

Maybe it's just the type of problems I work on, but I never find myself wanting a deque. A queue, absolutely. A stack, sometimes, A priority queue, occasionally.

Never a deque.

[–] [email protected] 3 points 8 months ago* (last edited 8 months ago)

I use a deque to fill a queue from the right, items get consumed from the left. Sometimes feedback from an external control mechanism will request an item be added to the queue with high priority. This item is then added to the left of the queue and will get consumed next, before all the others already in the queue. For me this was a good use case for a deque and it works well.

[–] [email protected] 1 points 8 months ago

Same, but I also almost never use a stack or a priority queue. A list works like a stack if I ever need it (haven't yet), and if I'm reaching for a priority queue, I likely want something more complex like an actual scheduler or something (e.g. a timeout with a priority).

But I have at least used those once or twice. I've never used a deque as a deque, only as a queue.

[–] BehindTheBarrier 1 points 8 months ago

If you want a first in first out it's better than a list. Deque is also whats powering thread safe queues in python where you want said FIFO functionality when sending from one thread to another. (typically the order doesn't matter since it's threads, but generally speaking it makes more sense to take the first thing going in, out of it too.)