payment by upi: sinhamit@icici or payment by bank account name: amit kumar sinha, account number: 2646728782 IFSC code: KKBK0005660 SWIFT: KKBKINBB

Please support if you like my work by payment through upi: sinhamit@icici or payment by bank

account name: Amit Kumar Sinha,
account number: 2646728782
IFSC code: KKBK0005660
SWIFT: KKBKINBB


List Methods   in Category: पाइथन   by amit

🕙 Posted on 2023-08-16 at 11:19:19


परिवर्तनशील डेटा-प्रकारों के किसी भी आइटम/तत्व का मूल्य बदलना

    पायथन में एक वेरिएबल को निर्दिष्ट किया (सौंपा) गया मान, सरल स्केलर डेटा-प्रकार या सरल अनुक्रम डेटा-प्रकार, या सूचियों/टुपल्स/डिक्शनरियों आदि के संग्रह हो सकता है। एक नेस्टेड सूची (list) सूचियों की सूची, टुपल्स की सूची, डिक्शनरियों की सूची, आदि हो सकती है। इसी तरह, एक नेस्टेड टपल एक सूचियों का टुपल, डिक्शनरियों का टुपल, टुपल्स का टुपल, हो सकता है। और, एक नेस्टेड डिक्शनरी में संबंधित कुंजियों के मान के रूप में सूचियाँ, टुपल्स और डिक्शनरी शामिल हो सकते हैं। पिछले पृष्ठ में, आप पहले ही इसका एक उदाहरण देख चुके हैं, जिसमें complex_list में निहित (nested) एक टुपल, एक डिक्शनरी और सूचियों का एक टुपल, आइटम/तत्व शामिल हैं।

उदाहरण 1

fruits = ["Apple", "Banana", "Kiwi", "Mango", "Orange"]

print( fruits[1:4][0][1:4] )   # आउटपुट ana है। एक डेटा-प्रकार को स्लाइस करने से वही डेटा-प्रकार आउटपुट होता है। यहां यह एक सूची है, जिसे आगे स्लाइस किया जा सकता है।
print( fruits[1][1:4] )            # आउटपुट ana है। [1] एक स्ट्रिंग निकालता (extracts) है, जिसे यदि [0] के साथ और निकाला जाए, तो B आउटपुट होता है (एक अक्षर, आगे काटा नहीं जा सकता।)

    आप परिवर्तनशील डेटा-प्रकार के किसी आइटम/तत्व का मान बदल सकते हैं, उदाहरण के लिए, एक सूची या एक डिक्शनरी (जिसे किसी अन्य अनुक्रम डेटा-प्रकार शाब्दिक के अंदर भी नेस्ट किया जा सकता है)। किसी आइटम का मान बदलने के लिए, आपको वेरिएबल नाम के ठीक बाद (असाइनमेंट ऑपरेटर से पहले) वर्गाकार कोष्ठकों की एक जोड़ी के अंदर इंडेक्स नंबर या संबंधित कुंजी नाम प्रदान करना होगा। नया मान असाइनमेंट ऑपरेटर के दाईं ओर होना चाहिए। उपरोक्त सूची, अर्थात् fruits का कोई भी आइटम/तत्व बदला भी जा सकता है, लेकिन उस आइटम का कोई भी अक्षर (स्ट्रिंग डेटा-प्रकार) नहीं बदला जा सकता।

उदाहरण 2

nested_list = [1, 'a', [2, 3, 'b'], [4, [5, 6, 'c']], 7, 'd']
nested_list[1] = 'x'
nested_list[2][2] = 'y'

print( nested_list )         # संबंधित आइटम के मान नीचे दिखाए अनुसार बदल दिए गए हैं:

[1, 'x', [2, 3, 'y'], [4, [5, 6, 'c']], 7, 'd']

उदाहरण 3

    अन्य प्रोग्रामिंग भाषाओं के विपरीत, आप केवल किसी सूची के किसी आइटम का मान बदल सकते हैं, लेकिन आप निम्न तरीके का उपयोग करके किसी सूची में कोई आइटम नहीं जोड़ सकते (चाहे वह खाली हो या नहीं)। हालाँकि, पूर्व-परिभाषित append(), extend() और insert() विधियों (नीचे वर्णित) का उपयोग करके सूची में किसी आइटम को जोड़ा जा सकता है।

empty_list = []
empty_list[0] = "Hello"   # आउटपुट IndexError: list assignment index out of range है।
empty_list[] = "World"   # आउटपुट SyntaxError: invalid syntax है। (इस परिणाम को देखने के लिए उपरोक्त कथन पर टिप्पणी करें।)

print( empty_list )

    आप del (आरक्षित कीवर्ड) के साथ एक वैरिएबल नाम भी हटा (delete) सकते हैं, जैसे कि इसे कभी परिभाषित नहीं किया गया था। लेकिन आप किसी अपरिवर्तनीय डेटा-प्रकार, जैसे टुपल या स्ट्रिंग से किसी आइटम या वर्ण को नहीं हटा सकते। हालाँकि, आप परिवर्तनशील डेटा-प्रकार, उदाहरण के लिए, एक सूची या एक डिक्शनरी से किसी आइटम/तत्व को (लेकिन कोई वर्ण नहीं) हटा सकते हैं।

उदाहरण 4

my_list = [1, "Amit", object(), 3.14, True, (1, 2.3, 3), None]
print( my_list[2] )   # आउटपुट <object object at 0x00000112F4AC4270> है। (एक सूची में कोई भी डेटा-प्रकार हो सकता है, जिसे पायथन में परिभाषित किया जा सकता हो।)

del my_list[6]         # आइटम का डेटा-प्रकार महत्वपूर्ण नहीं है, लेकिन उसके मूल (parent) चर/शाब्दिक को परिवर्तनशील डेटा-प्रकार होना चाहिए।
print( my_list )         # आउटपुट [1, 'Amit', object(), 3.14, True, (1, 2.3, 3)] है।

del my_list[5][1]    # नीचे दिए गए कथनों का परिणाम देखने के लिए इस पंक्ति पर टिप्पणी करें।
print( my_list )         # आउटपुट त्रुटि (जैसा कि नीचे दिखाया गया) है, क्योंकि टुपल के किसी भी आइटम का मान नहीं बदला जा सकता है।

TypeError: 'tuple' object doesn't support item deletion

उदाहरण 4 जारी...

del my_list              # चर नाम my_list का मान unset किया गया है।
print( my_list )         # आउटपुट त्रुटि (जैसा कि नीचे दिखाया गया) है, क्योंकि चर नाम, my_list अब अपरिभाषित है।

NameError: name 'my_list' is not defined

सूची विधियाँ

    आप पिछले पृष्ठ में पहले ही सीख चुके हैं कि सूची (list) और टपल डेटा-प्रकारों में count() और index() विधियाँ और len() अंतर्निहित फ़ंक्शन कैसे लागू करें। इसके अलावा, आपने पिछले पृष्ठ में NESTED सूचियों के बारे में भी सीखा है। सभी सूची विधियों के सहायता दस्तावेज़ सहायता कैसे प्राप्त करें पृष्ठ में पहले से ही वर्णित है। निम्न­लिखित सूची विधियों के बारे में जानने से पहले ये अवधार­णाएँ (concepts) जानना महत्वपूर्ण हैं:

append(), extend() और insert()

उदाहरण 5

empty_list = []
empty_list.append( 'Hello' )
print( empty_list )   # आउटपुट ['Hello'] है।

उदाहरण 5 जारी...

empty_list.append( [1, 2, 3] )   # उदाहरण 5 के नीचे इन दो पंक्तियों को जोड़ें
print( empty_list )   # आउटपुट ['Hello', [1, 2, 3]] है।

    उपरोक्त उदाहरण 5 में, आप देख सकते हैं कि append() विधि उसके कोष्ठक के अंदर चर नाम या शाब्दिक को, मूल सूची के अंतिम आइटम/तत्व के बाद जोड़ती है। हालाँकि, extend() विधि पुनरावर्तनीय (iterable) डेटा-प्रकार (सूची/टुपल) में शामिल होने वाले सभी आइटम/तत्वों को मूल सूची शाब्दिक (अंतिम तत्व के बाद) के व्यक्तिगत आइटम के रूप में जोड़ती है।

उदाहरण 5 जारी...

empty_list.extend( [4, 5, 6] )   # उदाहरण 5 के नीचे इन दो पंक्तियों को जोड़ें
print( empty_list )   # आउटपुट ['Hello', [1, 2, 3], 4, 5, 6]

empty_list.extend( 'World' )   # उदाहरण 5 के नीचे इन दो पंक्तियों को जोड़ें
print( empty_list )   # आउटपुट ['Hello', [1, 2, 3], 4, 5, 6, 'W', 'o', 'r', 'l', 'd']

उदाहरण 5 जारी...

empty_list.insert( 5, [7, 8, 9] )   # उदाहरण 5 के नीचे इन दो पंक्तियों को जोड़ें
print( empty_list )   # आउटपुट ['Hello', [1, 2, 3], 4, 5, 6, [7, 8, 9], 'W', 'o', 'r', 'l', 'd']

    insert() विधि को मूल सूची के सूचकांक संख्या (पूर्णांक) पहले तर्क के रूप में आवश्यकता होती है, जहां दूसरा तर्क (स्ट्रिंग, सूची, आदि) जोड़ा जा सकता है। अन्य आइटम/तत्वों को जोड़े गए आइटम्स के दाईं ओर स्थानांतरित (shift) कर दिया जाता है।

उदाहरण 6

    निम्नलिखित उदाहरण में, आप देख सकते हैं कि केवल पुनरावर्तनीय (iterable) डेटा-प्रकार को list() अंतर्निहित फ़ंक्शन की सहायता से list डेटा-प्रकार में परिवर्तित (type-cast) किया जा सकता है। कई ट्यूटोरियल आपको बताते हैं कि list() अंतर्निहित फ़ंक्शन एक सूची डेटा-प्रकार बना सकता है। हालाँकि, संख्याओं (पूर्णांक और फ़्लोट्स), बूलियन्स (True, False) और None को सूची डेटा-प्रकार में list() अंतर्निहित फ़ंक्शन के साथ परिवर्तित नहीं किया जा सकता है। डिक्शनरियों में कुंजियाँ और उनके संबंधित मान होते हैं, जिन्हें केवल डिक्शनरी विधियों की सहायता से सूची डेटा-प्रकार में परिवर्तित किया जा सकता है (अगले पृष्ठ में समझाया जाएगा)

iterable_string = '12345'   # 'Hello' (वर्णों को अलग-अलग आइटमों में विभाजित किया जाएगा।)
iterable_tuple = (1,2,3,4,5)
iterable_set = {1,2,3,4,5}
non_iterable = 12345

print( type( iterable_string ), list( iterable_string ) )
print( type( iterable_tuple ), list( iterable_tuple ) )
print( type( iterable_set ), list( iterable_set ) )
print( type( non_iterable ), list( non_iterable ) )

<class 'str'> ['1', '2', '3', '4', '5']
<class 'tuple'> [1, 2, 3, 4, 5]
<class 'set'> [1, 2, 3, 4, 5]
Traceback (most recent call last):
File "C:\xampp\htdocs\python2023\new.py", line 7, in <module>
  print( type( non_iterable ), list( non_iterable ) )
                                            ^^^^^^^^^^^^^^^^^^^^
TypeError: 'int' object is not iterable

remove(), clear(), pop()

    आप यहां ऊपर देख सकते हैं कि सूची (list) के शाब्दिक/वेरिएबल नाम पर append(), extend() या insert() विधि प्रयोग करने से मूल सूची संशोधित (modify) हो जाता है। इसी तरह, remove(), clear() या pop() विधि को लागू करने से एक आइटम, सभी आइटम, या अंतिम आइटम क्रमशः सूची से हटा दिए जाएंगे और उसके बाद मूल सूची संशोधित हो जाएगा। निम्नलिखित उदाहरण इसे स्पष्ट करेंगे।

उदाहरण 7

    remove() विधि कोष्ठक के अंदर प्रदान की गई वस्तु (object) की पहली घटना (अर्थात, शाब्दिक/वेरिएबल नाम का मान) को हटा देगी। तर्क के रूप में पारित पूर्णांक मान मूल सूची की सूचकांक संख्या नहीं है। यदि remove() विधि के तर्क के रूप में पारित ऑब्जेक्ट मूल सूची में नहीं पाया जाता है, तो ValueError (मूल्य त्रुटि) आउटपुट के रूप में दिखाया जाता है।

my_list = [1, 2, 3, 4, 5, 6]
my_list.remove( 2 )
print( my_list )                     # आउटपुट [1, 3, 4, 5, 6] है।

my_list.remove( 'Hello' )   # निम्नलिखित उदाहरण जारी रखने के लिए इस पंक्ति पर टिप्पणी करें।
print( my_list )                     # आउटपुट त्रुटि (जैसा कि नीचे दिखाया गया) है:

[1, 3, 4, 5, 6]
Traceback (most recent call last):
  File "C:\xampp\htdocs\python2023\new.py", line 5, in <module>
    my_list.remove( 'Hello' )
ValueError: list.remove(x): x not in list
उदाहरण 7 जारी...

my_list.clear()   # clear() विधि के लिए तर्क की जरुरत नहीं है।
print( my_list )      # आउटपुट [] (हमेशा एक खाली सूची लौटाता है, क्योंकि सभी आइटम हटा दिए जाते हैं।)

उदाहरण 8

    pop() विधि कोष्ठक में तर्क के रूप में पारित सूचकांक संख्या पर निर्दिष्ट आइटम/तत्व को हटा देगी। जब तर्क (सूचकांक संख्या) प्रदान नहीं किया जाता है, तो pop() विधि अंतिम आइटम को हटा देगी। यदि आप my_list.pop() अभिव्यक्ति (expression) को एक चर (variable) नाम पर निर्दिष्ट (assign) करते हैं, तो हटाया गया आइटम pop() विधि द्वारा वापस (returned) कर दिया जाता है।

my_list = [1, 2, 3, 4, 5, 6]
new_var = my_list.pop()       # अंतिम आइटम को हटा दिया जाएगा।
print( my_list )      # आउटपुट [1, 2, 3, 4, 5] है।
print( new_var )      # आउटपुट 6 है।
new_var = my_list.pop( 3 )   # सूचकांक संख्या 0 (शून्य) से शुरू होती है।
print( my_list )      # आउटपुट [1, 2, 3, 5] है।
print( new_var )      # आउटपुट 4 है।

copy(), reverse(), sort()

    copy() विधि केवल सूची शाब्दिक को किसी अन्य चर नाम के लिए निर्दिष्ट करता है। यह असाइनमेंट ऑपरेटर के साथ भी किया जा सकता है। reverse() विधि किसी सूची के आइटम/तत्वों को विपरीत क्रम में क्रमबद्ध करता है। यानी, पहला आइटम आखिरी आइटम बन जाएगा, दूसरा आइटम दूसरा आखिरी आइटम बन जाएगा, और इसी तरह... आखिरी आइटम पहला आइटम बन जाएगा।

    हालाँकि, sort() विधि वस्तुओं को सूचकांक संख्या के आधार पर नहीं, बल्कि उन वस्तुओं के मूल्यों (मानों) के आधार पर क्रमबद्ध करता है। sort() विधि reverse = True को एक तर्क के रूप में भी लेता है जो उन मानों को उल्टे क्रम में क्रमबद्ध करता (सूचकांक के आधार पर नहीं) है (reverse = False डिफ़ॉल्ट मान है)।

उदाहरण 9

my_list = [2, 5, 7, 4, 3, 1, 8, 9, 6]
new_list = my_list.copy()

print( my_list )      # आउटपुट [2, 5, 7, 4, 3, 1, 8, 9, 6] है।
print( new_list )    # आउटपुट [2, 5, 7, 4, 3, 1, 8, 9, 6] है।

उदाहरण 9 जारी...

my_list.reverse()
print( my_list )      # आउटपुट [6, 9, 8, 1, 3, 4, 7, 5, 2] है।

my_list.sort()
print( my_list )      # आउटपुट [1, 2, 3, 4, 5, 6, 7, 8, 9] है।

my_list.sort( reverse=True )
print( my_list )      # आउटपुट [9, 8, 7, 6, 5, 4, 3, 2, 1] है।


Leave a Comment: