मुख्य सामग्री पर जाएँ

Python में सूची से आइटम कैसे हटाएँ

Python में सूची से आइटम कैसे हटाएँ, समझें। remove(), pop(), और del जैसी विधियों से सूची प्रबंधन करना सीखें।
· 7 मि॰ पढ़ें

AI के साथ खोजें

Python प्रोग्रामिंग में सूचियाँ (lists) अक्सर दिखती हैं, और वाजिब वजह भी है। ये विश्लेषकों को डेटा को व्यवस्थित, प्रबंधित और प्रोसेस करने में मदद करती हैं। उदाहरण के लिए, जब डेटा की लंबाई बदलती रहती है, तो सूचियाँ अपने आकार को डायनेमिक रूप से बढ़ा या घटा सकती हैं। सूचियों को अन्य डेटा प्रकारों या संरचनाओं, जैसे tuples या arrays, में आसानी से परिवर्तित भी किया जा सकता है। इन्हें उन्नत एल्गोरिद्म के बिल्डिंग ब्लॉक्स के रूप में भी इस्तेमाल किया जाता है, जिनमें डेटा की खोज, छँटाई और उस पर इटरेशन करना शामिल है।

क्योंकि Python एक बहुमुखी प्रोग्रामिंग भाषा है, इसलिए Python में किसी सूची से आइटम हटाने के कई तरीके हैं। इस ट्यूटोरियल में, हम कुछ प्रमुख तरीकों पर नज़र डालेंगे, जिनमें remove() और pop() जैसी बिल्ट-इन फ़ंक्शंस, list comprehensions, और del कीवर्ड शामिल हैं।

यदि आप एक उभरते हुए डेटा विश्लेषक या डेटा वैज्ञानिक हैं, तो मैं DataCamp के Introduction to Python कोर्स को लेने की अत्यधिक अनुशंसा करता/करती हूँ ताकि आप Python प्रोग्रामिंग के बुनियादी कौशल सीख सकें। Python Cheat Sheet for Beginners भी विभिन्न Python फ़ंक्शंस के सिंटैक्स में महारत हासिल करने के लिए एक उपयोगी संदर्भ होगा। 

सूची से आइटम हटाने के 3 त्वरित तरीके

आप सूची से आइटम हटाने के लिए निम्न में से किसी भी विधि का उपयोग कर सकते हैं। पहले मामले में, हम remove() फ़ंक्शन का उपयोग कर सकते हैं।

# Initialize a list with integers from 1 to 5
my_list = [1, 2, 3, 4, 5]

# Removes element 5 from the list
my_list.remove(5)
print(my_list)

# Expected output: [1, 2, 3, 4]

हम pop() फ़ंक्शन का भी उपयोग कर सकते हैं। 

# Initialize a list with integers from 1 to 5
my_list = [1, 2, 3, 4, 5]

# Removes the last element from the list
my_list.pop()
print(my_list)

# Expected output: [1, 2, 3, 4]

हम del कीवर्ड का भी उपयोग कर सकते हैं।

# Initialize a list with integers from 1 to 5
my_list = [1, 2, 3, 4, 5]

# Remove item at index 4
del my_list[4]
print(my_list)

# Expected output: [1, 2, 3, 4]

उपरोक्त प्रत्येक मामले में, तत्व हटाने के बाद नई सूची [1, 2, 3, 4] होगी।

Python सूचियों को समझना

Python सूचियाँ तत्वों के क्रमबद्ध संग्रह हैं जिनका उपयोग किसी भी डेटा प्रकार को संग्रहीत करने के लिए किया जाता है। Python सूचियाँ बहुमुखी और डायनेमिक होती हैं, जो विभिन्न प्रकार के डेटा हेरफेर की अनुमति देती हैं। अपनी लचीलेपन के कारण, Python में सूचियों के निम्नलिखित उपयोग के मामले हैं:

  • डेटा संग्रहण: सूचियों का उपयोग स्ट्रिंग्स, संख्याओं और ऑब्जेक्ट्स जैसे आइटम के संग्रह को संग्रहीत करने के लिए किया जाता है।
  • डेटा हेरफेर: सूचियों का उपयोग विभिन्न डेटा हेरफेर और रूपांतरण कार्यों के लिए किया जा सकता है, जिनमें तत्व जोड़ना, हटाना या संशोधित करना शामिल है। 
  • इटरेशन: सूचियों का उपयोग इटरेशन में प्रत्येक आइटम तक क्रमवार पहुँचने और उसे प्रोसेस करने में किया जाता है।

यह जानना भी महत्वपूर्ण है कि Python सूचियाँ परिवर्तनशील (mutable) होती हैं, जो निर्माण के बाद भी संशोधन की अनुमति देती हैं। इसलिए, आप आवश्यकता के अनुसार सूची में तत्व जोड़, हटा या संशोधित कर सकते हैं।

Python में सूची से आइटम हटाने की विस्तृत तकनीकें

Python में सूची से आइटम हटाने के अलग-अलग तरीके हैं। इन तकनीकों में बिल्ट-इन मेथड्स, कीवर्ड्स और list comprehensions शामिल हैं।

remove() फ़ंक्शन का उपयोग

remove() फ़ंक्शन सूची से एक तत्व हटाने का Python का बिल्ट-इन मेथड है। remove() फ़ंक्शन का सिंटैक्स list.remove(item) है। नीचे remove() फ़ंक्शन के उपयोग का एक बुनियादी उदाहरण है। यह फ़ंक्शन सूची से मान 3 वाले आइटम को हटा देगा।

यदि एक ही सूची में डुप्लिकेट्स हैं, तो remove() फ़ंक्शन केवल किसी आइटम की पहली उपस्थिति को हटाएगा। निम्न उदाहरण में, remove() फ़ंक्शन सूची से केवल 3 की पहली उपस्थिति को हटाता है।

# Define a list with some elements
my_list = [1, 2, 3, 4, 3]

# Use the remove() method to delete 3 from the list
# The remove() method removes the first occurrence of the specified value
my_list.remove(3)

# Print the list after removing 3
print(my_list)

# Expected output: [1, 2, 4, 3]

यदि आइटम सूची में नहीं है, तो remove() फ़ंक्शन value error लौटाएगा। इसलिए, ऐसे परिदृश्यों को संभालने के लिए exception जोड़ना महत्वपूर्ण है। नीचे दिया गया कोड सूची में न होने वाले आइटम्स के लिए त्रुटि पकड़ने का उदाहरण दिखाता है।

# Initialize a list with color strings
colors = ["red", "green", "blue"]

# Try to remove the color "yellow" from the list
try:
    colors.remove("yellow")
# Catch the ValueError exception if "yellow" is not found in the list
except ValueError as e:
    print(e) 

# Expected output: list.remove(x): x not in list

pop() फ़ंक्शन का उपयोग

pop() फ़ंक्शन इंडेक्स के आधार पर सूची से आइटम हटाता है। pop() फ़ंक्शन का सिंटैक्स list.pop(index) है।

नीचे दिया गया उदाहरण दिखाता है कि pop() फ़ंक्शन का उपयोग इंडेक्स निर्दिष्ट करके सूची से किसी विशिष्ट आइटम को हटाने के लिए कैसे किया जाता है। ध्यान दें कि आप हटाए गए तत्व को एक नए वेरिएबल में संग्रहीत कर सकते हैं और उसे रिटर्न कर सकते हैं।

# Initialize a list with integers from 1 to 5
my_list = [1, 2, 3, 4, 5]

# Remove and return the element at index 2 (third element) from the list
removed_item = my_list.pop(2)

# Print the updated list after removing the element
print(my_list)
print(removed_item)

# Expected output:
# [1, 2, 4, 5]
# 3

यदि आप हटाने वाले तत्व का इंडेक्स निर्दिष्ट नहीं करते हैं, तो pop() फ़ंक्शन डिफ़ॉल्ट रूप से सूची का अंतिम आइटम हटा देगा।

यदि आप Python में किसी सूची का पहला आइटम हटाना चाहते हैं, तो आप pop() फ़ंक्शन के साथ इंडेक्स 0 निर्दिष्ट करेंगे।

# Initialize a list with string elements from 'a' to 'd'
my_list = ["a", "b", "c", "d"]

# Remove and return the element at index 0 (the first element) from the list
removed_item = my_list.pop(0)

# Print the updated list after removing the element
print(my_list)
print(removed_item)

# Expected output:
# ['b', 'c', 'd']
# a

इसी तरह, यदि आप सूची का अंतिम आइटम हटाना चाहते हैं, तो आप pop() फ़ंक्शन का उपयोग करते हुए अंतिम इंडेक्स -1 निर्दिष्ट करेंगे।

# Initialize a list with string elements from 'a' to 'd'
my_list = ["a", "b", "c", "d"]

# Remove and return the element at index -1 (the last element) from the list
removed_item = my_list.pop(-1)

# Print the updated list after removing the last element
print(my_list)
print(removed_item)

# Expected output:
# ['a', 'b', 'c']
# d

यदि आइटम सूची की सीमा (range) से बाहर है, तो pop() फ़ंक्शन IndexError उठाएगा। आउट-ऑफ-रेंज इंडेक्स को संभालने के लिए, आपको try-except ब्लॉक का उपयोग करना चाहिए।

# Initialize a list with integers from 1 to 5
my_list = [1, 2, 3, 4, 5]

# Attempt to remove and return the element at index 10
# This will raise an IndexError because index 10 is out of range for the list
try:
    removed_item = my_list.pop(10)
# Catch the IndexError exception if the index is out of range
except IndexError as e:
    print(e) 

# Expected output: pop index out of range

हमारे नवीनतम ट्यूटोरियल How to Use the Python pop() Method को देखें ताकि आप इस विधि का उपयोग करके सूची से तत्व हटाने के बारे में और जान सकें।

del कीवर्ड का उपयोग

del कीवर्ड Python में सूची से आइटम या स्लाइस हटाने में उपयोगी है। सूची से एक एकल आइटम हटाने का सिंटैक्स del list[index] है।

नीचे दिया गया उदाहरण दिखाता है कि del कीवर्ड का उपयोग करके सूची से एक एकल आइटम कैसे हटाया जाता है।

# Initialize a list with integers from 1 to 5
my_list = [1, 2, 3, 4, 5]

# Remove item at index 2
del my_list[2]
print(my_list)

# Expected output: [1, 2, 4, 5]

इसी तरह, del कीवर्ड सूची से आइटम्स के किसी स्लाइस को हटाने की सुविधा भी देता है। एकाधिक आइटम्स हटाने का सिंटैक्स del list[start:end] है, जहाँ:

  • start स्लाइसिंग के प्रारंभिक इंडेक्स को दर्शाता है।

  • end स्लाइसिंग के अंतिम इंडेक्स को दर्शाता है।

नीचे दिया गया उदाहरण del कीवर्ड का उपयोग करके सूची से कई आइटम्स हटाने की स्लाइसिंग तकनीक दिखाता है।

# Initialize a list with integers from 1 to 5
my_list = [1, 2, 3, 4, 5]

# Delete the elements from index 1 to index 2 (elements 2 and 3) from the list
# This modifies the list to [1, 4, 5]
del my_list[1:3]
print(my_list) 

# Expected output: [1, 4, 5]

del कीवर्ड स्टेप मेथड का उपयोग करके भी सूची से कई आइटम्स हटाता है। स्टेप मेथड का सिंटैक्स del list[start:end:step] है, जहाँ:

  • start स्लाइसिंग के प्रारंभिक इंडेक्स को दर्शाता है।

  • end स्लाइसिंग के अंतिम इंडेक्स को दर्शाता है।

  • step स्लाइसिंग के बीच के अंतराल को दर्शाता है (डिफ़ॉल्ट रूप से 1)।

नीचे दिया गया उदाहरण दिखाता है कि स्टेप मेथड का उपयोग करके सूची से आइटम्स कैसे हटाएँ।

# Initialize a list with integers from 1 to 8
my_list = [1, 2, 3, 4, 5, 6, 7, 8]

# Delete elements from the list using slicing with a step of 2
del my_list[::2]
print(my_list)

# Expected output: [2, 4, 6, 8]

सूची से आइटम्स हटाने में del कीवर्ड के उपयोग के फायदे निम्नलिखित हैं:

  • दक्षता: del कीवर्ड इन-प्लेस आइटम हटाने की अनुमति देकर मेमोरी दक्ष होता है, जिससे प्रदर्शन में सुधार होता है।

  • बहुमुखी प्रतिभा: स्टेप मेथड के साथ, del कीवर्ड एकल आइटम, स्लाइस या कई तत्वों को सूची से हटाने में उपयोगी है।

हालाँकि, सूची से आइटम हटाने के लिए del कीवर्ड का उपयोग करते समय संभावित कठिनाइयों में इंडेक्सिंग त्रुटियाँ शामिल हैं, विशेषकर जब आइटम सीमा से बाहर हो। इसलिए, IndexError पकड़ने के लिए try-except ब्लॉक का उपयोग करना महत्वपूर्ण है।

# Initialize a list with integers 1, 2, and 3
my_list = [1, 2, 3]

# Attempt to delete the element at index 5
# This will raise an IndexError because index 5 is out of range for the list
try:
    del my_list[5]
# Catch the IndexError exception if the index is out of range
except IndexError as e:
    print(e) 

# Expected output: list assignment index out of range

del कीवर्ड्स का उपयोग करते समय, स्लाइस निर्दिष्ट करते हुए सावधानी बरतें ताकि अनजाने में होने वाली डिलीशन्स से बचा जा सके, जिन्हें डिबग करना मुश्किल हो सकता है।

list comprehensions का उपयोग

अंतिम खंड के रूप में, हम list comprehensions पर विचार कर सकते हैं। list comprehensions का उपयोग मौजूदा सूची से नई सूची बनाने में किया जा सकता है, जिसमें कुछ आइटम्स को बाहर रखा जाए। यह तकनीक तब सबसे उपयुक्त है जब किसी विशिष्ट शर्त के आधार पर सूची से आइटम हटाना हो। 

# Initialize a list with integers from 1 to 5
my_list = [1, 2, 3, 4, 5]

# Create a new list that includes all items from my_list except for the value 3
new_list = [item for item in my_list if item != 3]
print(new_list)

# Expected output: [1, 2, 4, 5]

इसी प्रकार, list comprehensions का उपयोग शर्त के आधार पर आइटम्स हटाने के लिए किया जा सकता है। नीचे दिया गया उदाहरण दिखाता है कि मूल सूची से सम (even) संख्याएँ कैसे हटाई जाएँ।

# Initialize a list of integers from 1 to 10
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# Create a new list containing only the odd numbers from the original list
odd_numbers = [num for num in numbers if num % 2 != 0]
print(odd_numbers)

# Expected output: [1, 3, 5, 7, 9]

सूचियों में list comprehension का उपयोग जटिल परिदृश्यों को संभालने में लचीलापन देता है, जैसे डेटा को नए प्रारूप में बदलना या मौजूदा डेटा संरचनाओं से सूचियाँ बनाना। 

नीचे दिया गया उदाहरण दिखाता है कि स्ट्रिंग्स को uppercase में बदलने और विशिष्ट आइटम्स को फ़िल्टर करने के लिए list comprehension का उपयोग कैसे करें।

# Initialize a list of fruit names
words = ["apple", "banana", "cherry", "avocado", "grape"]

# Create a new list containing the uppercase versions of words that start with the letter 'a'
a_words_upper = [word.upper() for word in words if word.startswith("a")]
print(a_words_upper)

# Expected output: ['APPLE', 'AVOCADO']

list comprehensions का उपयोग nested list comprehensions में flatten करने और अन्य कार्यों के लिए भी किया जा सकता है। नीचे दिए गए उदाहरण में, सूची को flatten करने और विषम (odd) संख्याएँ हटाने के लिए list comprehension का उपयोग किया गया है।

# Initialize a list containing sublists of integers
list_of_lists = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

# Create a flat list of even numbers by iterating through each sublist
# and checking if each number is even
flat_even_numbers = [num for sublist in list_of_lists for num in sublist if num % 2 == 0]
print(flat_even_numbers) 

# Expected output: [2, 4, 6, 8]

तुलनात्मक तालिका

तकनीकउपयोग का मामलाकब उपयोगी
remove()सूची से विशिष्ट आइटम्स हटाएँजब सूची से आइटम्स हटाने हों और डुप्लिकेट्स को संभालना हो
pop()निर्दिष्ट सूची से आइटम हटाएँ और उसे लौटाएँजब आप सूची से हटाए गए आइटम को वापस पाना चाहते हों
delसूची से आइटम्स या आइटम्स के स्लाइस हटाएँजब कई आइटम्स हटाने हों या सूची में तत्वों को डिलीट करना हो
List comprehensionमौजूदा सूची की शर्त के आधार पर नई सूची बनाएँजटिल सूची कार्यों के लिए, जिनमें फ़िल्टरिंग शामिल है

यदि आप डेटा विश्लेषण में सूची हेरफेर के बारे में और समझना चाहते हैं, तो हमारे Data Analyst with Python करियर ट्रैक से होकर गुजरें और अपने विश्लेषणात्मक कौशल को बढ़ाएँ।

एकाधिक घटनाएँ और शर्तें संभालना

Python में सूचियों के साथ काम करते समय, ऐसे परिदृश्य आ सकते हैं जब आपको सूची से आइटम्स की कई घटनाएँ हटानी हों। ऐसी स्थितियों में, आपको आइटम्स को इटरेट कर हटाने के लिए एक लूप की आवश्यकता होगी।

लूप और remove() का उपयोग

निम्न उदाहरण दिखाता है कि सूची से किसी आइटम की कई घटनाएँ हटाने के लिए लूप और remove() फ़ंक्शन का उपयोग कैसे करें।

# Initialize a list of integers
my_list = [1, 2, 3, 2, 4, 2, 5]

# Item to remove
item_to_remove = 2

# Loop to remove all occurrences
while item_to_remove in my_list:
    my_list.remove(item_to_remove)
print(my_list)

# Expected output: [1, 3, 4, 5]

लूप और list comprehension का उपयोग

आप list comprehension में भी लूप का उपयोग करके किसी आइटम की कई घटनाएँ सूची से हटा सकते हैं।

# Initialize a list of integers
my_list = [1, 2, 3, 2, 4, 2, 5]

# Item to remove
item_to_remove = 2

# List comprehension to remove all occurrences
new_list = [item for item in my_list if item != item_to_remove]
print(new_list)

# Expected output: [1, 3, 4, 5]

निष्कर्ष

अपने विश्लेषण कार्य में विभिन्न सूची हेरफेर विधियों को कब और कैसे लागू करना है, यह समझना आवश्यक है। साथ ही, सुनिश्चित करें कि आप त्रुटियों को पकड़ना, किनारी मामलों (edge cases) को संभालना, और सूची हेरफेर में जटिल विधियों का उपयोग करना जानते हों। मैं आपको प्रोत्साहित करता/करती हूँ कि आप ऊपर बताई गई विधियों के साथ अभ्यास में प्रयोग करें ताकि अपनी विभिन्न विश्लेषणों के लिए सबसे उपयुक्त तरीका खोज सकें।

यदि आप डेटा विश्लेषण के लिए Python के बारे में और सीखना चाहते हैं, तो हमारा Python Fundamentals स्किल ट्रैक आज़माएँ, जिसमें डेटा हेरफेर और रूपांतरण पर एक व्यापक मार्गदर्शिका है। अंत में, DataCamp के Python Programming स्किल ट्रैक और Python Developer करियर ट्रैक आपको अपने करियर में नया अध्याय खोलने के लिए व्यापक कौशल प्रदान करेंगे।

Allan Ouko

लेखक

Allan Ouko

डेटा एनालिटिक्स, बिज़नेस इंटेलिजेंस और डेटा साइंस में व्यावहारिक अनुभव रखने वाला डेटा साइंस तकनीकी लेखक। मैं SQL, Python, Power BI, Databricks और डेटा इंजीनियरिंग पर व्यावहारिक, उद्योग-केंद्रित सामग्री लिखता/लिखती हूँ, जो वास्तविक दुनिया की एनालिटिक्स कार्य से जुड़ी होती है। मेरी लेखनी तकनीकी गहराई और व्यावसायिक प्रभाव के बीच पुल का काम करती है, जिससे पेशेवरों को डेटा को आत्मविश्वासपूर्ण निर्णयों में बदलने में मदद मिलती है. 

Frequently Asked Questions

मैं सूची से आइटम कैसे हटाऊँ?

बिल्ट-इन फ़ंक्शन remove() सूची में किसी आइटम की पहली उपस्थिति को हटाने में उपयोगी है।

आप सूची में डुप्लिकेट्स को कैसे संभालते हैं?

आप सूची में डुप्लिकेट्स को remove() फ़ंक्शन में लूप का उपयोग करके या list comprehension में लूप का उपयोग करके हटा सकते हैं।

क्या आप इटरेट करते समय सूची से आइटम्स हटा सकते हैं?

आप इटरेट करते समय list comprehension का उपयोग करके सूची से आइटम्स हटा सकते हैं।

remove() और pop() फ़ंक्शंस में क्या अंतर है?

remove() फ़ंक्शन सूची से आइटम हटाता है और नई सूची देता है, जबकि pop() फ़ंक्शन सूची से आइटम हटाता है और हटाए गए आइटम के साथ नई सूची लौटाता है।

विषय