ازگر میں فہرست سمجھنے کا استعمال کیسے کریں۔

ازگر میں فہرست سمجھنے کا استعمال کیسے کریں۔

ازگر میں فہرست کی تفہیم کا بروقت استعمال آپ کے لیے تکراری لسٹ آپریشن کو آسان بنا سکتا ہے۔ ایک لائن ہونے کے علاوہ ، یہ زیادہ پڑھنے کے قابل ہے اور زیادہ موثر انداز میں چلاتا ہے۔





تاہم ، اگر آپ اسے استعمال کرنا نہیں جانتے ہیں تو آپ کام کر سکتے ہیں۔ یہ اور بھی مایوس کن ہوسکتا ہے اگر آپ نہیں جانتے کہ اسے اپنے کوڈ میں کہاں لاگو کرنا ہے۔ یہاں ، ہم آپ کو دکھائیں گے کہ ازگر میں فہرست کی تفہیم کو کچھ حقیقی زندگی کی مثالوں کے ساتھ کیسے استعمال کریں۔





ازگر میں لسٹ کامپریشن کیا ہے اور یہ کیسے کام کرتی ہے؟

ازگر کے ساتھ اشیاء کی فہرست بنانا آسان ہے۔ تاہم ، جب آپ کو ریاضی یا سٹرنگ آپریشن سے اقدار یا اشیاء کی فہرست تیار کرنے کی ضرورت ہوتی ہے تو یہ کام تھوڑا سا تکلیف دہ ہوسکتا ہے۔ اسی وقت جب فہرست کی تفہیم کا استعمال مفید ہو سکتا ہے۔





لسٹ فہم کو استعمال کرنے کا ایک فائدہ یہ ہے کہ آپ ایک ہی فہرست میں کئی آپریشن کر سکتے ہیں۔

فون کو ایکس بکس ون پر کیسے سٹریم کریں۔

اس کے برعکس ، یہ نئی اشیاء تخلیق کرتا ہے اور انہیں خالی فہرست میں شامل کرتا ہے جو خود بخود اعلان کرتا ہے۔ تو اس کے بجائے کہ ایک خالی فہرست دستی طور پر بنائی جائے اور اس کے ساتھ a کے لیے لوپ ، ازگر کی فہرست کی تفہیم آپ کو یہ خود بخود کرنے کی اجازت دیتی ہے کہ آپ اس بات کی فکر کیے بغیر کہ نئی فہرست کیسے آتی ہے۔



اصطلاح 'فہرست فہم' اس حقیقت سے نکلتی ہے کہ تمام کاروائیاں ایک ازگر کی فہرست میں ہیں جو ایک نامزد متغیر کو تفویض کی گئی ہیں۔ جیسا کہ ہم نے پہلے کہا ، یہ آپ کو کوڈ کی ایک لائن میں مخصوص آپریشن کرنے دیتا ہے۔ اس کے بعد یہ آؤٹ پٹ کو ایک نئی فہرست میں شامل کرتا ہے۔

بالآخر ، آپ دوسرے مقاصد کے لئے فہرست کی تفہیم کی پیداوار کو بھی استعمال کرسکتے ہیں۔ اس کی وجہ یہ ہے کہ یہ اظہارات کو الگ الگ متغیرات میں اسٹیک کرتا ہے۔ تو آپ بعد میں ان کا حوالہ دے سکتے ہیں۔





مثال کے طور پر ، آپ ہو سکتے ہیں۔ BeautifulSoup کے ساتھ ایک ویب سائٹ کو سکریپ کرنا۔ . فرض کریں کہ آپ ویب سائٹ سے تمام اشیاء کا نام اور ان کی قیمتیں حاصل کرنا چاہتے ہیں۔

پھر آپ سکریپڈ ڈیٹا کو CSV یا ایکسل فائل میں ڈالنے کا فیصلہ کرتے ہیں۔ مثالی عمل یہ ہے کہ تمام اشیاء کے نام اور ان کی قیمتوں کو ختم کیا جائے اور ان دونوں کو الگ الگ کالموں میں رکھا جائے۔ تاہم ، لسٹ فہم کا استعمال ، اس صورت میں ، اس بات کو یقینی بناتا ہے کہ آپ کے پاس وقف شدہ متغیرات میں سکریپڈ ڈیٹا موجود ہے۔ آپ اس طرح کے متغیرات کو بعد میں ازگر ڈیٹا فریم میں تبدیل کر سکتے ہیں۔





نیچے دی گئی مثال کو دیکھیں:

Products = [i.text for i in bs.find_all('name tags')]
Price = [i.text for i in bs.find_all('price tags')]

ایک بار جب آپ لوپڈ متغیرات حاصل کرلیں ، پھر آپ انہیں ازگر کے پانڈوں کا استعمال کرتے ہوئے ڈیٹا فریم میں الگ الگ کالموں میں ڈال سکتے ہیں۔

ازگر میں فہرست کو سمجھنے کا طریقہ اور استعمال کیسے کریں۔

کی کے لیے لوپ ایک فہرست کے فہم میں ایک لازمی تکرار ہے۔ عام طور پر ، ازگر میں فہرست کی تفہیم اس شکل کو لیتی ہے:

ComprehensionVariable = [expression for items in list]

پرنٹنگ تفہیم متغیر مندرجہ بالا کوڈ کا نتیجہ بطور فہرست آؤٹ پٹ کرتا ہے۔

تاہم ، محتاط رہیں کہ کسی فہرست کی تفہیم کو کھلے کے ساتھ الجھا نہ دیں۔ کے لیے لوپ

مثال کے طور پر ، آئیے۔ اوپن فار لوپ استعمال کریں۔ 1 اور 30 ​​کے درمیان تین کے تمام ضربوں کی فہرست حاصل کرنے کے لیے:

myList = []
for i in range(1, 11):
myList.append(i * 3)
print(myList)
Output: [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]

دونوں کا موازنہ کرنے کے لیے ، آئیے ایک ہی چیز کو لسٹ فہم کا استعمال کرتے ہوئے کرتے ہیں:

multiplesOf3 = [i*3 for i in range(1, 11)]
print(multiplesOf3)
Output = [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]

آپ مشروط بیانات کے ساتھ فہرست کی تفہیم بھی استعمال کرسکتے ہیں۔ ذیل میں مثال کا کوڈ تمام عجیب نمبروں کو 1 اور 10 کے درمیان پرنٹ کرتا ہے۔

oddNumbers = [i for i in range(1, 11) if not i%2==2]
print(oddNumbers)
Output = [1, 3, 5, 7, 9]

اب ، آئیے اوپن کا استعمال کرتے ہوئے اوپر والے کوڈ کو دوبارہ لکھتے ہیں۔ کے لیے لوپ:

myList = []
for i in range(1, 11):
if not i%2 == 0:
myList.append(i)
print(myList)
Output: [1, 3, 5, 7, 9]

متعلقہ: ازگر میں فہرست کیسے شامل کی جائے۔

فہرست کی تفہیم نیسٹڈ کو بھی قبول کرتی ہے اگر بیانات:

oddNumbers = [i for i in range(1, 11) if not i%2==0 if i<4]
print(oddNumbers)
Output: [1, 3]

یہ ایک گھونسلا بھی لیتا ہے۔ کے لیے لوپ:

someNums = [[i*2 for i in range(1, 3)] for _ in range(4)]
print(someNums)

آپ سادہ گھوںسلا بھی کر سکتے ہیں۔ کے لیے ایک فہرست فہم میں لوپ:

someNums = [i*2 for i in range(1, 3) for k in range(4)]

آپ ازگر کی فہرست کو سمجھنے کے ساتھ ڈور کو جوڑ سکتے ہیں۔ آئیے ذیل میں ایک لفظ کاؤنٹر فہم پر ایک نظر ڈالیں:

word = ['This is a python list comprehension tutorial']
wordCounter = [i.count(' ') + 1 for i in word]
print(wordCounter)
Output: 7

فہرست کی تفہیم ایک فنکشن کو بھی قبول کر سکتی ہے جو ایک مخصوص آپریشن کرتا ہے۔ آئیے ایک ضرب فنکشن داخل کریں جو فہرست کے فہم میں یکساں نمبر حاصل کرے یہ دیکھنے کے لیے کہ یہ کیسے کام کرتا ہے:

Numbers = [4, 7, 8, 15, 17, 10]
def multiplier(n):
multiple = n*2
return multiple
multipleEven = [multiplier(i) for i in Numbers if i%2==0]
print(multipleEven)
Output: [8, 16, 20]

آپ اب بھی فہم کے استعمال کے بغیر ایک ہی فنکشن میں مذکورہ کوڈ لکھ سکتے ہیں۔ لیکن فہرست کی تفہیم مفید ہے جب آپ کو کئی تکرار کرنے اور ان میں سے ہر ایک کو الگ الگ متغیر میں رکھنے کی ضرورت ہو۔

مثال کے طور پر ، آپ ایک اور آپریشن کر سکتے ہیں۔ n اور اس کے لیے ایک سرشار متغیر ہے۔ آئیے مذکورہ بالا فہم میں ترمیم کریں تاکہ عجیب و غریب سے اعداد پیدا ہوں:

multipleEvenFromOdds = [multiplier(i) for i in Numbers if not i%2==0]
print(multipleEvenFromOdds)
Output: [14, 30, 34]

لغت اور سیٹ فہم۔

فہرست کی تفہیم کے علاوہ ، ازگر ایک لغت اور ایک فہم کی فعالیت بھی پیش کرتا ہے۔

یہ کیسے کام کرتا ہے یہ دیکھنے کے لیے نیچے دی گئی لغت کی تفہیم پر ایک نظر ڈالیں:

corresponding = {i: i*2 for i in range(10) if not i%2==0}
print(corr)
Output: {1: 2, 3: 6, 5: 10, 7: 14, 9: 18}

مندرجہ بالا کوڈ 1 اور 9 کے درمیان نمبروں کی فہرست کے ذریعے تکرار کرتا ہے اور انہیں چابیاں بناتا ہے۔ اس کے بعد یہ ازگر سے کہتا ہے کہ وہ ہر کلید کو دو سے ضرب دے۔ آخر میں ، یہ اس آپریشن کے نتائج کو نتیجے کی صف میں ہر کلید کے لیے متعلقہ اقدار کے طور پر پیش کرتا ہے۔

متعلقہ: ازگر میں صفیں اور فہرستیں کیسے کام کرتی ہیں۔

ایک مجموعہ فہم تھوڑا سا فہرست فہم سے ملتا جلتا ہے۔ سیٹ فہم کی ایک مثال یہ ہے:

میک بک پرو 2013 بیٹری تبدیل کرنے کی لاگت
numbers = {i**(2) for i in range(10) if i%4==0}
print(numbers)
Output: {0, 16, 64}

تاہم ، فہرست کے فہم کے برعکس ، سیٹ فہم ڈپلیکیٹس کو ہٹاتا ہے:

nums = {i for i in range(20) if i%2==1 for k in range(10) if k%2==1}
print(nums)
Output: {1, 3, 5, 7, 9, 11, 13, 15, 17, 19}

آپ فہرست کو سمجھنے کے لیے مذکورہ کوڈ کو آزما سکتے ہیں تاکہ دیکھیں کہ وہ کس طرح مختلف ہیں۔

کیا آپ ہر وقت لسٹ کی سمجھ کو استعمال کر سکتے ہیں؟

ہم نے فہرست کی تفہیم کی مختلف مثالوں پر ایک نظر ڈالی ہے اور آپ انہیں کہاں استعمال کرسکتے ہیں۔ تاہم ، کسی دوسرے ازگر کے طریقہ کار کی طرح ، فہرست کی تفہیم کے استعمال کا معاملہ اس مخصوص مسئلہ پر منحصر ہے جسے آپ حل کرنا چاہتے ہیں۔ لہذا آپ کو اسے صرف اس صورت میں استعمال کرنا چاہیے جب یہ مخصوص مسئلہ کے لیے مثالی ہو جسے آپ حل کرنا چاہتے ہیں۔

فہرست کو سمجھنے کا ایک مقصد آپ کے کوڈ کو آسان بنانا اور اسے مزید پڑھنے کے قابل بنانا ہے۔ لہذا ، اس بات کو یقینی بنائیں کہ آپ اس سے نمٹنے کے دوران پیچیدگی سے بچیں۔ مثال کے طور پر ، ایک طویل ازگر کی تفہیم پڑھنے کے لیے پیچیدہ ہو سکتی ہے۔ جو اپنے مقصد کو شکست دیتا ہے۔

بانٹیں بانٹیں ٹویٹ ای میل۔ ازگر کی فہرست کو سمجھنے کا استعمال کیسے کریں (اور جب انہیں استعمال نہ کریں)

ازگر کی اس حیرت انگیز خصوصیت کو استعمال کرنے کے بارے میں آپ کو جاننے کی ہر وہ چیز ہے جو راتوں رات آپ کی پیداوری اور کوڈ پڑھنے کی اہلیت کو بڑھا دے گی۔

اگلا پڑھیں۔
متعلقہ موضوعات۔
  • پروگرامنگ۔
  • ازگر۔
مصنف کے بارے میں ادیسو اومیسولا۔(94 مضامین شائع ہوئے)

ادوو کسی بھی سمارٹ ٹیک اور پیداوری کے بارے میں پرجوش ہے۔ اپنے فارغ وقت میں ، وہ کوڈنگ کے ساتھ کھیلتا ہے اور جب وہ بور ہوتا ہے تو شطرنج بورڈ پر سوئچ کرتا ہے ، لیکن اسے تھوڑی دیر میں معمول سے الگ ہونا بھی پسند ہے۔ لوگوں کو جدید ٹیکنالوجی کے راستے دکھانے کا ان کا جذبہ انہیں مزید لکھنے کی ترغیب دیتا ہے۔

Idowu Omisola سے مزید

ہماری نیوز لیٹر کو سبسکرائب کریں

ٹیک ٹپس ، جائزے ، مفت ای بکس ، اور خصوصی سودوں کے لیے ہمارے نیوز لیٹر میں شامل ہوں!

سبسکرائب کرنے کے لیے یہاں کلک کریں۔