مرکزی مواد پر جائیں
ماڈیول 3 · سبق 1 از 4کورس میں 9/36~12 min
ماڈیول اسباق (1/4)

فہرستیں

ایک فہرست عناصر کی ترتیب شدہ اور متغیر ترتیب ہے۔ یہ ہے Python میں سب سے زیادہ استعمال شدہ ڈیٹا ڈھانچہ: آپ [] کے ساتھ ایک بناتے ہیں اور اس میں ترمیم کرتے ہیں یاد رکھنے کے قابل طریقوں کے ایک سیٹ کے ساتھ۔

فہرست بنانا

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]` کو دیکھتے ہوئے، صعودی ترتیب میں ترتیب دیئے گئے نمبروں کے پہلے تین نمبروں کے ساتھ `first_three_sorted` بنائیں۔ نمبروں میں ترمیم نہ کریں۔

ایڈیٹر لوڈ ہو رہا ہے…
اشارہ دکھائیں۔

nums[: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 کوششوں کے بعد حل دستیاب ہے۔