मुख्य सामग्री पर जाएं
मॉड्यूल 3 · पाठ 1 का 4पाठ्यक्रम में 9/36~12 min
मॉड्यूल पाठ (1/4)

सूचियाँ

सूची तत्वों का एक क्रमबद्ध और परिवर्तनीय अनुक्रम है। यह है पायथन में सबसे अधिक उपयोग की जाने वाली डेटा संरचना: आप [] के साथ एक बनाते हैं और इसे संशोधित करते हैं याद रखने लायक तरीकों के एक सेट के साथ।

एक सूची बनाना

Python
vuota = []
numeri = [10, 20, 30]
mista = [1, "due", 3.0, True, None]    # tipi diversi: legale ma raro

इंडेक्स और स्लाइस द्वारा पहुंच

इंडेक्स 0 से शुरू होते हैं। नकारात्मक सूचकांक दाईं ओर से गिने जाते हैं:

Python
parole = ["a", "b", "c", "d"]
parole[0]    # 'a'
parole[-1]   # 'd'   (ultimo)
parole[1:3]  # ['b', 'c']   slice [start:stop]
parole[::-1] # ['d', 'c', 'b', 'a']   reverse

एक स्लाइस कभी भी IndexError नहीं उठाती: यदि यह सीमा से बाहर है, तो यह एक लौटाता है खाली उप-सूची. इसके बजाय parole[10] जैसी सीधी पहुंच, एक बढ़ाती है अपवाद.

किसी सूची को संशोधित करना

Python
nums = [1, 2, 3]
nums.append(4)         # [1, 2, 3, 4]    aggiunge in fondo
nums.insert(0, 0)      # [0, 1, 2, 3, 4] inserisce in posizione
nums.extend([5, 6])    # [0, 1, 2, 3, 4, 5, 6]   concatena
nums.pop()             # 6   estrae ultimo
nums.pop(0)            # 0   estrae primo (più lento: O(n))
nums.remove(3)         # rimuove la PRIMA occorrenza di 3
nums[1] = 99           # sostituisce per indice

छंटाई

दो रूप - उन्हें अलग बताना महत्वपूर्ण है:

Python
nums = [3, 1, 4, 1, 5, 9, 2, 6]
nums.sort()          # MUTA nums in place, ritorna None
ordinati = sorted(nums)  # ritorna NUOVA lista, lascia nums invariata
nums.sort(reverse=True)
sorted(nums, key=lambda n: -n)   # ordinamento per chiave

लंबाई, सदस्यता, पुनरावृत्ति

Python
len(nums)              # quanti elementi
3 in nums              # True/False
for n in nums:
    print(n)

किसी सूची की प्रतिलिपि बनाई जा रही है

a = b कॉपी नहीं करता - यह बस उसी सूची के लिए दूसरा नाम बनाता है। को वास्तव में प्रतिलिपि:

Python
copia = lista[:]            # slice completo
copia = list(lista)         # costruttore esplicito
copia = lista.copy()        # metodo

(ये सभी उथली प्रतियां हैं - नेस्टेड तत्व साझा रहते हैं।)

सूचियाँ कॉपी करना: संदर्भों पर ध्यान दें

पायथन में, जब आप list_b = list_a लिखते हैं, तो आप एक प्रति नहीं बना रहे हैं: आप केवल दूसरा संदर्भ बना रहे हैं। list_b को संशोधित करने से list_a भी बदल जाएगा। एक सच्ची स्वतंत्र प्रतिलिपि बनाने के लिए, आपको list_b = list_a.copy() लिखना होगा या पूर्ण स्लाइसिंग का उपयोग करना होगा: list_b = list_a[:]।

इसे अजमाएं

व्यायाम#python.m3.l1.e1
प्रयास: 0लोड हो रहा है...

सूची `संख्या = [5, 2, 8, 1, 9, 3]` को देखते हुए, आरोही क्रम में क्रमबद्ध संख्याओं की पहली तीन संख्याओं के साथ `first_ three_sorted` बनाएं। अंकों में संशोधन न करें.

संपादक लोड हो रहा है...
संकेत दिखाएँ

अंक[:3] पहले तीन हैं, फिर क्रमबद्ध(...)।

3 प्रयासों के बाद समाधान उपलब्ध है

व्यायाम की समीक्षा करें

व्यायाम#python.m3.l1.e2
प्रयास: 0लोड हो रहा है...

`words = ['ciao']` से शुरू करके, अंत में 'mondo' जोड़ें, फिर '!' डालें शुरू में। 'शब्दों' का मूल्यांकन करें.

संपादक लोड हो रहा है...
संकेत दिखाएँ

पूंछ पर जोड़ें, सिर पर (0, ...) डालें।

3 प्रयासों के बाद समाधान उपलब्ध है

अतिरिक्त चुनौती

व्यायाम#python.m3.l1.e3
प्रयास: 0लोड हो रहा है...

Given the list `items = [10, 20, 30, 40]`, use slicing to create a new list `reversed_items` containing the same elements but in reverse order. Finally, evaluate `reversed_items`.

संपादक लोड हो रहा है...
संकेत दिखाएँ

नकारात्मक चरण के साथ स्लाइस करना [::-1] है। इसे उलटे_आइटम पर असाइन करें।

3 प्रयासों के बाद समाधान उपलब्ध है