முக்கிய உள்ளடக்கத்திற்குச் செல்லவும்
தொகுதி 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

(இவை அனைத்தும் ** ஆழமற்ற** பிரதிகள் - உள்ளமைக்கப்பட்ட கூறுகள் பகிரப்பட்டிருக்கும்.)

பட்டியல்களை நகலெடுக்கிறது: குறிப்புகளைக் கவனியுங்கள்

Python இல், நீங்கள் 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]` கொடுக்கப்பட்டால், ஏறுவரிசையில் வரிசைப்படுத்தப்பட்ட எண்களின் முதல் மூன்று எண்களைக் கொண்டு `முதல்_மூன்று_வரிசைப்படுத்தப்பட்டது` என்பதை உருவாக்கவும். எண்களை மாற்ற வேண்டாம்.

எடிட்டரை ஏற்றுகிறது…
குறிப்பைக் காட்டு

எண்கள்[:3] முதல் மூன்று, பின்னர் வரிசைப்படுத்தப்பட்டது(...).

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்

மதிப்பாய்வு பயிற்சி

உடற்பயிற்சி#python.m3.l1.e2
முயற்சிகள்: 0ஏற்றுகிறது…

`வார்த்தைகள் = ['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 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்