Home › Hindi › List methods Hindi में
Python list methods Hindi में — append से sort तक, examples के साथ
🌐 यह page Hindi में है · Read this in English →
हर method का outputappend बनाम extendFree browser practice
List बनाना और पढ़ना
List Python का सबसे ज़्यादा इस्तेमाल होने वाला container है — ordered, mutable, और इसमें mixed types भी रख सकते हो।
marks = [85, 92, 78, 64]
print(marks[0]) # 85 (गिनती 0 से)
print(marks[-1]) # 64 (आखिरी item)
print(marks[1:3]) # [92, 78] (3 शामिल नहीं)
print(len(marks)) # 4
print(sum(marks)) # 319
print(max(marks)) # 92
ध्यान दो: len(), sum(), max() methods नहीं हैं — ये built-in functions हैं, इसलिए marks.len() नहीं चलेगा, len(marks) चलेगा।
Items जोड़ना — append, extend, insert
L = [1, 2]
L.append(3) # [1, 2, 3] — एक item आखिर में
L.append([4, 5]) # [1, 2, 3, [4, 5]] — पूरी list एक item बनकर घुसी
M = [1, 2]
M.extend([4, 5]) # [1, 2, 4, 5] — items अलग-अलग जुड़े
M.insert(1, 99) # [1, 99, 2, 4, 5] — index 1 पर घुसाओ
append बनाम extend यही सबसे बड़ा confusion है। append जो दो वो एक item बनता है। extend उसके अंदर घुसकर हर item अलग जोड़ता है। + भी extend जैसा ही है: L = L + [4, 5]।
Items हटाना — remove, pop, del, clear
L = [10, 20, 30, 20]
L.remove(20) # [10, 30, 20] — पहला 20 हटा (value से)
x = L.pop() # x = 20, L = [10, 30] — आखिरी निकाला और लौटाया
y = L.pop(0) # y = 10, L = [30] — index से निकाला
del L[0] # L = []
L.clear() # खाली कर दिया
फर्क याद रखो: remove() value से हटाता है (न मिले तो ValueError), pop() index से हटाता है और हटाई हुई चीज़ लौटाता है (गलत index पर IndexError)।
sort() बनाम sorted() — सबसे बड़ी galti
L = [3, 1, 2]
print(L.sort()) # None ❌ — यही 90% beginners फँसते हैं
print(L) # [1, 2, 3] — original बदल गया
M = [3, 1, 2]
print(sorted(M)) # [1, 2, 3] ✅ नई list मिली
print(M) # [3, 1, 2] — original जस का तस
print(sorted(M, reverse=True)) # [3, 2, 1]
names = ["aman", "Riya", "sara"]
print(sorted(names, key=str.lower)) # case भूलकर sort
यही rule reverse() पर भी लागू है: L.reverse() जगह पर उल्टा करता है और None देता है; नई list चाहिए तो L[::-1] या list(reversed(L)) लिखो।
copy() — वो galti जो debug करना मुश्किल है
A = [1, 2, 3]
B = A # copy नहीं! दोनों एक ही list हैं
B.append(4)
print(A) # [1, 2, 3, 4] 😱
C = A.copy() # या A[:] या list(A)
C.append(5)
print(A) # [1, 2, 3, 4] — अब सुरक्षित
Python में = नाम चिपकाता है, data copy नहीं करता। Function को list भेजकर उसके अंदर बदलोगे तो बाहर वाली भी बदल जाएगी — यह bug असली projects में घंटों खाता है।
बाकी काम के methods — एक नज़र में
L.index(20)— 20 किस index पर है (न मिले तोValueError)L.count(20)— 20 कितनी बार है (न हो तो0, error नहीं)20 in L— है या नहीं,True/False", ".join(words)— list को string बनाओ (सिर्फ strings की list पर चलता है)[x * 2 for x in L]— हर item पर काम (list comprehension)if not L:— list खाली है या नहीं चेक करने का सही तरीका (len(L) == 0की ज़रूरत नहीं)
एक आखिरी चेतावनी: जिस list पर loop चल रहा है, उसी में से items मत हटाओ — Python index आगे बढ़ाता रहता है और बीच वाले items skip हो जाते हैं। copy पर loop चलाओ: for x in L[:]:
🛠️ Practice करो (free, browser में)
पढ़ना काफी नहीं — यही bug खुद fix करके देखो। नीचे के problems browser में ही चलते हैं, कोई install नहीं, कोई login नहीं।
- sort() None क्यों लौटाता है — सबसे common list galti
- List copy बनाम reference — B = A वाला trap
- List की length निकालना — len(L) बनाम L.len()
- Mixed types वाली list sort करना — TypeError क्यों आता है
अक्सर पूछे जाने वाले सवाल
append और extend में क्या फर्क है?
append जो भी दो उसे एक ही item बनाकर आखिर में जोड़ता है, इसलिए list देने पर nested list बन जाती है। extend उस list के अंदर जाकर हर item अलग-अलग जोड़ता है।
print(L.sort()) None क्यों छापता है?
क्योंकि sort() list को जगह पर बदलता है और कुछ लौटाता नहीं, और Python में जो function कुछ return नहीं करता वह None लौटाता है। नई sorted list चाहिए तो sorted(L) use करो।
remove() और pop() में कौन सा कब use करें?
remove() तब जब आपको value पता हो (L.remove(20)), और pop() तब जब index पता हो या हटाई हुई चीज़ चाहिए हो (x = L.pop(0))। pop() बिना argument के आखिरी item निकालता है।
B = A लिखने पर दोनों lists एक साथ क्यों बदल जाती हैं?
क्योंकि = सिर्फ एक और नाम उसी list पर चिपका देता है, नई list नहीं बनाता। अलग copy चाहिए तो B = A.copy() या B = A[:] लिखो।