Python में deque स्टैक और कतार जैसी डेटा संरचना है। यह कतार के दोनों सिरों से जोड़ने और हटाने के संचालन की अनुमति देता है। और यही इसे बाकी डेटा संरचनाओं से अलग बनाता है। विभिन्न संचालन हैं जो नीचे सूचीबद्ध हैं जो deque पर लागू होते हैं। इस लेख में हम उनमें से प्रत्येक संचालन पर उदाहरण देखेंगे। deque को लागू करने के लिए collections मॉड्यूल का उपयोग किया जाता है।
Deque संचालन
deque का उपयोग करके किए जाने वाले कुछ उपयोगी संचालन नीचे दिए गए हैं
append() - यह फ़ंक्शन अपने तर्क में मान को deque के दाएं छोर पर सम्मिलित करने के लिए उपयोग किया जाता है।
appendleft() - यह फ़ंक्शन अपने तर्क में मान को deque के बाएं छोर पर सम्मिलित करने के लिए उपयोग किया जाता है।
pop() - यह फ़ंक्शन deque के दाएं छोर से एक तर्क को हटाने के लिए उपयोग किया जाता है।
popleft() - यह फ़ंक्शन deque के बाएं छोर से एक तर्क को हटाने के लिए उपयोग किया जाता है।
extend(iterable) - यह फ़ंक्शन deque के दाएं छोर पर कई मान जोड़ने के लिए उपयोग किया जाता है। पारित तर्क एक इटरेटेबल है।
extendleft(iterable) - यह फ़ंक्शन deque के बाएं छोर पर कई मान जोड़ने के लिए उपयोग किया जाता है। पारित तर्क एक इटरेटेबल है। बाएं जोड़ के परिणामस्वरूप क्रम उल्टा हो जाता है।
reverse() - यह फ़ंक्शन deque तत्वों के क्रम को उल्टा करने के लिए उपयोग किया जाता है।
rotate() - यह फ़ंक्शन तर्कों में निर्दिष्ट संख्या द्वारा deque को घुमाता है। यदि निर्दिष्ट संख्या ऋणात्मक है, तो घुमाव बाएं होता है। अन्यथा घुमाव दाएं होता है।
उदाहरण
नीचे दिया गया प्रोग्राम दिखाता है कि deque और collections मॉड्यूल का उपयोग करके उपरोक्त संचालन कैसे लागू किए जाते हैं।
import collections
de = collections.deque([10, 20, 30, 40])
print(de)
de.append(50)
print("\nदाएं छोर पर जोड़ने के बाद deque है : ")
print(de)
de.appendleft(60)
print("\nबाएं छोर पर जोड़ने के बाद deque है : ")
print(de)
de.pop()
print("\nदाएं छोर से हटाने के बाद deque है: ")
print(de)
de.popleft()
print("\nबाएं छोर से हटाने के बाद deque है: ")
print(de)
de.extend([70, 80])
print("\nअंत में deque बढ़ाना है : ")
print(de)
de.extendleft([100, 90])
print("\nशुरुआत में deque बढ़ाना है : ")
print(de)
de.rotate(-2)
print("\ndeque घुमाना है : ")
print(de)
de.reverse()
print("\ndeque उल्टा करना है : ")
print(de)
आउटपुट
उपरोक्त कोड चलाने पर हमें निम्न परिणाम मिलता है -
deque([10, 20, 30, 40]) दाएं छोर पर जोड़ने के बाद deque है : deque([10, 20, 30, 40, 50]) बाएं छोर पर जोड़ने के बाद deque है : deque([60, 10, 20, 30, 40, 50]) दाएं छोर से हटाने के बाद deque है: deque([60, 10, 20, 30, 40]) बाएं छोर से हटाने के बाद deque है: deque([10, 20, 30, 40]) अंत में deque बढ़ाना है : deque([10, 20, 30, 40, 70, 80]) शुरुआत में deque बढ़ाना है : deque([90, 100, 10, 20, 30, 40, 70, 80]) deque घुमाना है : deque([10, 20, 30, 40, 70, 80, 90, 100]) deque उल्टा करना है : deque([100, 90, 80, 70, 40, 30, 20, 10])