Python Deque क्या है? | Double Ended Queue Explained in Hindi | Python Course
Python deque
Python की normal List elements को आखिर में add/remove करने में तो तेज़ है, लेकिन list के शुरुआत से कुछ add या remove करना धीमा होता है। जब हमें बार-बार दोनों सिरों (शुरुआत और आखिर) से काम करना हो, तो Python का deque (double-ended queue) इस्तेमाल होता है।
अगर आपने अभी Python Lists Complete Guide in Hindi और Python Collections Module in Hindi नहीं पढ़े हैं, तो पहले वो articles पढ़ना उपयोगी रहेगा, क्योंकि deque उसी collections module का हिस्सा है। Examples खुद run करने के लिए हमारा Online Python Editor & Compiler use कर सकते हैं।
deque क्या है?
deque (double-ended queue) Python के collections module का एक data structure है, जो list जैसा ही दिखता है, लेकिन जिसमें elements को दोनों सिरों — शुरुआत और आखिर — दोनों से जल्दी add और remove किया जा सकता है।
सरल भाषा में — deque एक ऐसी line है जिसमें दोनों तरफ से तेज़ी से entry और exit हो सकती है।
Output:
deque को Import और Create करना
Output:
append()
append() से deque के आखिर में एक element जोड़ा जाता है — बिल्कुल List जैसा।
Output:
appendleft()
appendleft() से deque की शुरुआत में एक element जोड़ा जाता है — यह काम normal List में बहुत धीमा होता है, लेकिन deque में बहुत तेज़।
Output:
pop()
pop() से deque के आखिर से element हटाया जाता है।
Output:
popleft()
popleft() से deque की शुरुआत से element हटाया जाता है।
Output:
| Method | काम |
|---|---|
append(value) | आखिर में element जोड़ता है |
appendleft(value) | शुरुआत में element जोड़ता है |
pop() | आखिर से element हटाता है |
popleft() | शुरुआत से element हटाता है |
extend()
extend() से एक साथ कई elements को deque के आखिर में जोड़ा जा सकता है।
Output:
extendleft()
extendleft() से एक साथ कई elements को deque की शुरुआत में जोड़ा जाता है। ध्यान दें — यह values को उल्टे क्रम में जोड़ता है, क्योंकि हर value एक-एक करके appendleft() की तरह शुरुआत में जाती है।
Output:
[1, 2, 3] को एक-एक करके appendleft() जैसे जोड़ा गया — पहले 1, फिर उसके आगे 2, फिर उसके आगे 3 — इसलिए final order उल्टा दिखता है।
rotate()
rotate() deque के elements को एक निश्चित संख्या में positions तक circular तरीके से घुमा देता है।
Output:
आखिरी 2 elements (4, 5) घूमकर शुरुआत में आ गए।
Output:
इस बार शुरुआत के 2 elements (1, 2) घूमकर आखिर में चले गए।
deque में Elements Access करना
deque के elements को भी List की तरह index से access किया जा सकता है।
Output:
Queue का Practical Example
deque का एक बहुत common इस्तेमाल Queue बनाने के लिए होता है, जहाँ सबसे पहले आया हुआ element सबसे पहले बाहर जाता है (FIFO — First In, First Out)।
Output:
नए customers append() से पीछे जुड़ते हैं, और popleft() से सबसे आगे वाला customer serve होकर निकलता है — बिल्कुल एक real queue की तरह।
deque और List का Basic Difference
| Feature | List | deque |
|---|---|---|
| Import चाहिए? | नहीं, built-in है | हाँ, collections से |
| आखिर में Add/Remove | तेज़ | तेज़ |
| शुरुआत में Add/Remove | धीमा | तेज़ |
| Index से Access | बहुत तेज़ | List जितना तेज़ नहीं |
| Best Use Case | General-purpose data | Queues, दोनों सिरों से काम |
Common Beginner Mistakes
Beginners अक्सर उम्मीद करते हैं कि order [1, 2, 3, 4, 5] आएगा, लेकिन extendleft() हर value को अलग-अलग शुरुआत में जोड़ता है, इसलिए order उल्टा हो जाता है।
pop() हमेशा आखिर से हटाता है, जबकि popleft() हमेशा शुरुआत से हटाता है — नाम में "left" होना इसकी पहचान है।
deque शुरुआत और आखिर के operations में बहुत तेज़ है, लेकिन बीच के elements को index से बार-बार access करना उतना efficient नहीं है — ऐसे cases में normal List बेहतर रहती है।
Exercise ?
deque की शुरुआत से कोई element हटाने के लिए कौन सा method इस्तेमाल होता है?
Coding Challenge
अब खुद अपने Online Python Editor में इन challenges को solve कीजिए:
- एक empty deque बनाइए और उसमें
append()से 3 नाम जोड़िए। appendleft()से एक और नाम सबसे शुरुआत में जोड़िए।pop()औरpopleft()दोनों इस्तेमाल करके एक-एक element हटाइए और देखें कौन सा कहाँ से हटा।extend()औरextendleft()से दो अलग-अलग lists को deque में जोड़िए और output का order ध्यान से देखिए।rotate()से किसी deque को 2 positions दाईं ओर, फिर 3 positions बाईं ओर घुमाइए।
Quick Revision
| Method | काम |
|---|---|
| Import | from collections import deque |
| append() / appendleft() | आखिर / शुरुआत में element जोड़ना |
| pop() / popleft() | आखिर / शुरुआत से element हटाना |
| extend() / extendleft() | आखिर / शुरुआत में कई elements जोड़ना |
| rotate(n) | Elements को circular तरीके से घुमाना |
FAQ
Python में deque क्या है?
deque collections module का एक data structure है, जिसमें elements को दोनों सिरों (शुरुआत और आखिर) से तेज़ी से add या remove किया जा सकता है।
deque और List में मुख्य फर्क क्या है?
List आखिर में operations के लिए तेज़ है, लेकिन शुरुआत में operations के लिए धीमी है। deque दोनों सिरों पर एक जैसी तेज़ speed देता है, लेकिन index से बीच के elements access करने में List जितना तेज़ नहीं है।
append() और appendleft() में क्या फर्क है?
append() element को deque के आखिर में जोड़ता है, जबकि appendleft() उसे शुरुआत में जोड़ता है।
rotate() क्या करता है?
rotate(n) deque के elements को circular तरीके से n positions घुमाता है — positive number से elements दाईं ओर और negative number से बाईं ओर घूमते हैं।
deque का सबसे common इस्तेमाल क्या है?
deque का सबसे common इस्तेमाल Queue (FIFO) बनाने में होता है — जैसे customer service lines, task scheduling, या किसी भी ऐसी situation में जहाँ दोनों सिरों से data को manage करना हो।
Summary
deque = एक ऐसी line, जिसमें दोनों तरफ से तेज़ी से entry और exit हो सके।
इस article में आपने सीखा कि deque क्या है, इसे कैसे import और create करते हैं, append(), appendleft(), pop(), popleft(), extend(), extendleft() और rotate() कैसे काम करते हैं, और deque व List में क्या फर्क है।
deque उन जगहों के लिए बहुत उपयोगी है जहाँ elements को बार-बार दोनों सिरों से add या remove करना हो — जैसे queues, sliding window problems, और scheduling systems में। अब ऊपर दिया गया coding challenge खुद अपने Online Editor में solve करें।

कोई टिप्पणी नहीं:
एक टिप्पणी भेजें