पाइथनमा सूची (एरे) बाट तत्वहरू हटाउँदै: clear(), pop(), remove(), del

व्यापार

पाइथनमा प्रकार सूचीको सूची (एरे) बाट तत्व हटाउन, सूची विधिहरू clear(), pop() र remove() प्रयोग गर्नुहोस्। तपाईले अनुक्रमणिका वा टुक्रा प्रयोग गरेर सूचीको स्थिति र दायरा निर्दिष्ट गर्न सक्नुहुन्छ र त्यसपछि डेल स्टेटमेन्ट प्रयोग गरेर यसलाई मेटाउन सक्नुहुन्छ।

निम्न जानकारी यहाँ प्रदान गरिएको छ।

  • सबै तत्वहरू हटाउनुहोस्:clear()
  • निर्दिष्ट स्थानमा एक तत्व मेटाउनुहोस् र यसको मूल्य प्राप्त गर्नुहोस्।:pop()
  • तोकिएको मानसँग तत्वहरू खोज्छ र पहिलो तत्व हटाउँछ।:remove()
  • अनुक्रमणिका स्लाइसमा स्थिति र दायरा निर्दिष्ट गरेर मेटाउँदै:del
  • ब्याच मापदण्ड पूरा गर्ने बहु तत्वहरू मेटाउनुहोस्।:सूची समावेश संकेत

नोट गर्नुहोस् कि सूचीहरूले विभिन्न प्रकारका डाटा भण्डारण गर्न सक्छ, र arrays बाट कडा रूपमा फरक छन्। एरे (मानक पुस्तकालय) वा NumPy प्रयोग गर्नुहोस् जब तपाइँ प्रक्रियाहरूको लागि एरेहरू ह्यान्डल गर्न चाहनुहुन्छ जुन मेमोरी साइज वा मेमोरी ठेगाना चाहिन्छ, वा ठूलो-स्केल डाटाको संख्यात्मक गणनाको लागि।

सबै तत्वहरू हटाउनुहोस्:clear()

सूची विधिमा clear(), सबै तत्वहरू हटाइन्छ, परिणामस्वरूप खाली सूची हुन्छ।

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

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

निर्दिष्ट स्थानमा एक तत्व मेटाउनुहोस् र यसको मूल्य प्राप्त गर्नुहोस्।:pop()

सूचीको विधि पप() निर्दिष्ट स्थानमा एक तत्व मेटाउन र त्यो तत्वको मूल्य प्राप्त गर्न प्रयोग गर्न सकिन्छ।

पहिलो (प्रारम्भिक) नम्बर ० हो।

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

ध्यान दिनुहोस् कि पप(०), जसले पहिलो तत्व हटाउँछ, निम्न लागत चाहिन्छ र प्रभावकारी सञ्चालन होइन। सूचिहरूमा विभिन्न कार्यहरूको कम्प्युटेशनल जटिलताको लागि आधिकारिक विकीमा निम्न पृष्ठ हेर्नुहोस्।
O(n)

O(1)डेक प्रकार मानक पुस्तकालय संग्रह मोड्युलमा एक प्रकारको रूपमा प्रदान गरिएको छ जसले तत्वहरूलाई यस लागतमा शीर्षमा मेटाउँछ। उदाहरणका लागि, यदि तपाइँ डेटालाई क्यु (FIFO) को रूपमा व्यवहार गर्न चाहनुहुन्छ भने, यो deque प्रयोग गर्न अधिक कुशल छ।

तोकिएको मानसँग तत्वहरू खोज्छ र पहिलो तत्व हटाउँछ।: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]

काट्ने ’bout थप जानकारीको लागि, निम्न लेख हेर्नुहोस्।

ब्याच मापदण्ड पूरा गर्ने बहु तत्वहरू मेटाउनुहोस्।:सूची समावेश संकेत

सर्तहरू पूरा गर्ने तत्वहरू हटाउने प्रक्रिया सर्तहरू पूरा नगर्ने तत्वहरू छोड्ने (निकाल्ने) प्रक्रियाको बराबर हो। यस प्रकारको प्रशोधनका लागि सूची बुझ्ने सङ्केत प्रयोग गरिन्छ।

बिजोर वा बिजोर तत्वहरू (= बिजोर वा बिजोर तत्वहरू छोडेर) हटाउने उदाहरण तल देखाइएको छ।
%यो बाँकी अपरेटर हो।
i % 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