ماڈیول اسباق (1/4)
فہرستیں
ایک فہرست عناصر کی ترتیب شدہ اور متغیر ترتیب ہے۔ یہ ہے
Python میں سب سے زیادہ استعمال شدہ ڈیٹا ڈھانچہ: آپ [] کے ساتھ ایک بناتے ہیں اور اس میں ترمیم کرتے ہیں
یاد رکھنے کے قابل طریقوں کے ایک سیٹ کے ساتھ۔
فہرست بنانا
vuota = []
numeri = [10, 20, 30]
mista = [1, "due", 3.0, True, None] # tipi diversi: legale ma raroانڈیکس اور سلائس کے ذریعے رسائی
اشاریہ جات 0 سے شروع ہوتے ہیں۔ منفی اشاریہ جات دائیں طرف سے شمار ہوتے ہیں:
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]، اس کے بجائے، ایک کو بڑھاتا ہے۔
استثناء
فہرست میں ترمیم کرنا
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چھانٹنا
دو شکلیں - ان کو الگ بتانا ضروری ہے:
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لمبائی، رکنیت، تکرار
len(nums) # quanti elementi
3 in nums # True/False
for n in nums:
print(n)فہرست کاپی کرنا
a = b کاپی نہیں کرتا — یہ صرف اسی فہرست کے لیے دوسرا نام بناتا ہے۔ کو
اصل میں کاپی:
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[:]۔
اسے آزمائیں
فہرست `نمز = [5, 2, 8, 1, 9, 3]` کو دیکھتے ہوئے، صعودی ترتیب میں ترتیب دیئے گئے نمبروں کے پہلے تین نمبروں کے ساتھ `first_three_sorted` بنائیں۔ نمبروں میں ترمیم نہ کریں۔
اشارہ دکھائیں۔
nums[:3] پہلے تین ہیں، پھر ترتیب دیا گیا(...)۔
3 کوششوں کے بعد حل دستیاب ہے۔
ورزش کا جائزہ لیں۔
`words = ['ciao']` سے شروع ہو کر، آخر میں 'mondo' شامل کریں، پھر '!' شروع میں 'الفاظ' کا اندازہ لگائیں۔
اشارہ دکھائیں۔
دم پر شامل کریں، سر پر (0، ...) ڈالیں۔
3 کوششوں کے بعد حل دستیاب ہے۔
اضافی چیلنج
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 کوششوں کے بعد حل دستیاب ہے۔