Python मधील सूची (अॅरे) मधून घटक काढून टाकणे: clear(), pop(), remove(), del

व्यवसाय

Python मधील प्रकार सूचीच्या सूचीमधून (अॅरे) घटक काढून टाकण्यासाठी, clear(), pop() आणि remove() या यादी पद्धती वापरा. तुम्ही इंडेक्स किंवा स्लाइस वापरून सूचीची स्थिती आणि श्रेणी देखील निर्दिष्ट करू शकता आणि नंतर डेल स्टेटमेंट वापरून ते हटवू शकता.

खालील माहिती येथे दिली आहे.

  • सर्व घटक काढा:clear()
  • निर्दिष्ट स्थानावर एक घटक हटवा आणि त्याचे मूल्य मिळवा.:pop()
  • निर्दिष्ट मूल्यासह घटक शोधते आणि प्रथम घटक काढून टाकते.:remove()
  • निर्देशांक स्लाइसमध्ये स्थान आणि श्रेणी निर्दिष्ट करून हटवित आहे:del
  • बॅच निकष पूर्ण करणारे एकाधिक घटक हटवा.:सूची समावेश संकेत

लक्षात ठेवा की याद्या विविध प्रकारांचा डेटा संचयित करू शकतात आणि अॅरेपेक्षा काटेकोरपणे भिन्न आहेत. मेमरी आकार किंवा मेमरी अॅड्रेस आवश्यक असलेल्या प्रक्रियांसाठी किंवा मोठ्या प्रमाणात डेटाच्या संख्यात्मक गणनेसाठी तुम्हाला अॅरे हाताळायचे असतील तेव्हा अॅरे (मानक लायब्ररी) किंवा NumPy वापरा.

सर्व घटक काढा:clear()

सूची पद्धती clear(), सर्व घटक काढून टाकले जातात, परिणामी यादी रिकामी होते.

l = list(range(10))
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

l.clear()
print(l)
# []

निर्दिष्ट स्थानावर एक घटक हटवा आणि त्याचे मूल्य मिळवा.:pop()

सूचीतील मेथड पॉप() एखाद्या विशिष्ट स्थानावरील घटक हटविण्यासाठी आणि त्या घटकाचे मूल्य मिळविण्यासाठी वापरले जाऊ शकते.

पहिली (प्रारंभिक) संख्या 0 आहे.

l = list(range(10))
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

print(l.pop(0))
# 0

print(l)
# [1, 2, 3, 4, 5, 6, 7, 8, 9]

print(l.pop(3))
# 4

print(l)
# [1, 2, 3, 5, 6, 7, 8, 9]

शेवटचे (शेवटचे) स्थान निर्दिष्ट करण्यासाठी नकारात्मक मूल्य देखील वापरले जाऊ शकते. शेवट (शेवटचा) -1 आहे.

print(l.pop(-2))
# 8

print(l)
# [1, 2, 3, 5, 6, 7, 9]

जर युक्तिवाद वगळला असेल आणि कोणतीही स्थिती निर्दिष्ट केली नसेल, तर शेवटी (शेवटचा) घटक हटवला जाईल.

print(l.pop())
# 9

print(l)
# [1, 2, 3, 5, 6, 7]

अस्तित्वात नसलेली स्थिती निर्दिष्ट केल्याने त्रुटी येईल.

# print(l.pop(100))
# IndexError: pop index out of range

लक्षात घ्या की pop(0), जो पहिला घटक काढून टाकतो, त्याला खालील खर्चाची आवश्यकता असते आणि ते कार्यक्षम ऑपरेशन नाही. याद्यांवरील विविध ऑपरेशन्सच्या संगणकीय जटिलतेसाठी अधिकृत विकीवरील खालील पृष्ठ पहा.
O(n)

O(1)स्टँडर्ड लायब्ररी कलेक्शन मॉड्युलमध्ये डेक प्रकार हा एक प्रकार म्हणून प्रदान केला जातो जो या किंमतीवर सर्वात वरचे घटक हटवतो. उदाहरणार्थ, जर तुम्हाला डेटाला क्यू (FIFO) म्हणून हाताळायचे असेल तर, deque वापरणे अधिक कार्यक्षम आहे.

निर्दिष्ट मूल्यासह घटक शोधते आणि प्रथम घटक काढून टाकते.:remove()

सूची पद्धत remove() निर्दिष्ट केलेल्या समान मूल्यासह घटक शोधण्यासाठी आणि प्रथम घटक काढून टाकण्यासाठी वापरली जाऊ शकते.

l = ['Alice', 'Bob', 'Charlie', 'Bob', 'Dave']
print(l)
# ['Alice', 'Bob', 'Charlie', 'Bob', 'Dave']

l.remove('Alice')
print(l)
# ['Bob', 'Charlie', 'Bob', 'Dave']

सूचीमध्ये निर्दिष्ट मूल्याशी जुळणारे एकापेक्षा जास्त घटक असल्यास, फक्त पहिला घटक काढला जाईल.

l.remove('Bob')
print(l)
# ['Charlie', 'Bob', 'Dave']

अस्तित्वात नसलेले मूल्य निर्दिष्ट केले असल्यास, एक त्रुटी येते.

# l.remove('xxx')
# ValueError: list.remove(x): x not in list

निर्देशांक स्लाइसमध्ये स्थान आणि श्रेणी निर्दिष्ट करून हटवित आहे:del

सूचीमधून घटक काढून टाकण्यासाठी तुम्ही डेल स्टेटमेंट देखील वापरू शकता.

त्याच्या अनुक्रमणिकेद्वारे हटवायचा घटक निर्दिष्ट करा. पहिला (प्रारंभिक) निर्देशांक 0 आहे आणि शेवटचा (अंतिम) निर्देशांक -1 आहे.

l = list(range(10))
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

del l[0]
print(l)
# [1, 2, 3, 4, 5, 6, 7, 8, 9]

del l[-1]
print(l)
# [1, 2, 3, 4, 5, 6, 7, 8]

del l[6]
print(l)
# [1, 2, 3, 4, 5, 6, 8]

तुम्ही स्लाइससह श्रेणी निर्दिष्ट केल्यास, तुम्ही एकाच वेळी अनेक घटक हटवू शकता.

l = list(range(10))
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

del l[2:5]
print(l)
# [0, 1, 5, 6, 7, 8, 9]

l = list(range(10))
del l[:3]
print(l)
# [3, 4, 5, 6, 7, 8, 9]

l = list(range(10))
del l[4:]
print(l)
# [0, 1, 2, 3]

l = list(range(10))
del l[-3:]
print(l)
# [0, 1, 2, 3, 4, 5, 6]

संपूर्ण श्रेणी निर्दिष्ट करणे आणि सर्व घटक हटवणे देखील शक्य आहे.

l = list(range(10))
del l[:]
print(l)
# []

[start:stop:step]तुम्ही अशा प्रकारे स्लाइसमध्ये श्रेणी निर्दिष्ट केल्यास आणि वाढीव पायरी निर्दिष्ट केल्यास, तुम्ही एकाच वेळी अनेक जंपिंग घटक हटवू शकता.

l = list(range(10))
del l[2:8:2]
print(l)
# [0, 1, 3, 5, 7, 8, 9]

l = list(range(10))
del l[::3]
print(l)
# [1, 2, 4, 5, 7, 8]

स्लाइसिंगबद्दल अधिक माहितीसाठी, खालील लेख पहा.

बॅच निकष पूर्ण करणारे एकाधिक घटक हटवा.:सूची समावेश संकेत

अटींची पूर्तता करणारे घटक काढून टाकण्याची प्रक्रिया ही अटी पूर्ण न करणारे घटक सोडण्याच्या (अर्काने) प्रक्रियेच्या समतुल्य आहे. या प्रकारच्या प्रक्रियेसाठी सूची आकलन नोटेशन वापरले जाते.

विषम किंवा सम घटक काढून टाकण्याचे उदाहरण (= सम किंवा विषम घटक सोडणे) खाली दर्शविले आहे.
%हा उर्वरित ऑपरेटर आहे.
i % 2
2 ने भागलेला i ची ही उरलेली आहे.

सूची आकलन नोटेशनमध्ये, एक नवीन सूची तयार केली जाते. आतापर्यंत सादर केलेल्या सूची प्रकार पद्धतींप्रमाणे, मूळ यादी अपरिवर्तित राहिली आहे.

l = list(range(10))
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

print([i for i in l if i % 2 == 0])
# [0, 2, 4, 6, 8]

print([i for i in l if i % 2 != 0])
# [1, 3, 5, 7, 9]

print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

इतर उदाहरणे. सशर्त अभिव्यक्तीवर अवलंबून विविध प्रक्रिया शक्य आहेत.

l = ['Alice', 'Bob', 'Charlie', 'Bob', 'David']
print(l)
# ['Alice', 'Bob', 'Charlie', 'Bob', 'David']

print([s for s in l if s != 'Bob'])
# ['Alice', 'Charlie', 'David']

print([s for s in l if s.endswith('e')])
# ['Alice', 'Charlie']

तुम्हाला डुप्लिकेट घटक काढायचे असल्यास, सेट सेट प्रकार वापरा.

print(list(set(l)))
# ['David', 'Alice', 'Charlie', 'Bob']
Copied title and URL