1. پروگرامنگپیتھن ازگر میں لیمبڈا افعال کا استعمال کیسے کریں

ایلن شوچ ، جان شوک کے ذریعہ

ازگر گمنام افعال کے تصور کی حمایت کرتا ہے ، جسے لیمبڈا افعال بھی کہتے ہیں۔ نام کا گمنام حصہ اس حقیقت پر مبنی ہے کہ اس فنکشن کو نام رکھنے کی ضرورت نہیں ہے (لیکن اگر آپ چاہیں تو ایک بھی ہوسکتی ہے)۔ لامبڈا حصہ لیمڈا کی مطلوبہ الفاظ کے استعمال پر مبنی ہے تاکہ ان کی ازگر میں وضاحت کی جاسکے۔ لامبڈا یونانی حروف تہجی کا بھی 11 واں خط ہے۔

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

لیمبڈا اظہار کی وضاحت کے لئے کم سے کم نحو (جس کا نام نہیں ہے) ازگر کے ساتھ ہے۔

لیمبڈا دلائل: اظہار

جب اسے استعمال کریں:

  • ڈیٹا کو اظہار خیال میں منتقل کرنے کے ساتھ دلائل کی جگہ لیں۔ اظہار کی جگہ ایک اظہار (فارمولا) سے دیں جو آپ کے لامبڈا کو واپس آنے کی وضاحت کرتا ہے۔

اس نحو کو استعمال کرنے کی ایک عمومی مثال یہ ہے کہ جب آپ متن کے ڈور ترتیب دینے کی کوشش کر رہے ہو جہاں کچھ نام بڑے حرفوں سے شروع ہوتے ہیں اور کچھ چھوٹے ناموں سے شروع ہوتے ہیں جیسے ان ناموں میں:

ایڈمز ، ما ، دی میولا ، زینڈوسکی

فرض کریں کہ آپ ناموں کو فہرست میں رکھنے کے لئے درج ذیل کوڈ لکھتے ہیں ، اسے ترتیب دیں ، اور پھر فہرست کو اس طرح پرنٹ کریں۔

نام = ['ایڈمز' ، 'ما' ، 'ڈائی میولا' ، 'زینڈوسکی']
ناموں کی ترتیب ()
پرنٹ (نام)

اس سے یہ پیداوار ہے:

['ایڈمز' ، 'ما' ، 'زینڈوسکی' ، 'دی میڈولا']

ڈنڈیوسکی کے بعد ڈی میوولا آنے سے کچھ ابتدائی افراد کو غلط لگتا ہے۔ لیکن کمپیوٹر ہمیشہ چیزوں کو ہمارے انداز سے نہیں دیکھتے ہیں۔ (دراصل ، وہ کچھ بھی "نہیں دیکھتے ہیں" کیونکہ ان کی آنکھیں یا دماغ نہیں ہیں… لیکن اس کی بات اس کے سوا ہے۔) ڈیمیوولا کی وجہ زنداسکی کے بعد آنے کی وجہ یہ ہے کہ یہ ترتیب ASCII پر مبنی ہے ، جس میں ہر ایک ایسا نظام ہے جس میں ایک عدد کے ذریعہ کردار کی نمائندگی کی جاتی ہے۔

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

ان معاملات میں مدد کرنے کے لئے ، ازگر ترتیب دیں () طریقہ آپ کی مدد سے آپ کو چابی = قوسین کے اندر اظہار شامل کر سکتے ہیں ، جہاں آپ اسے بتا سکتے ہیں کہ کس طرح ترتیب دیں۔ نحو یہ ہے:

.سورٹ (کلید = ٹرانسفارم)

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

names.sort (key = len)

بدقسمتی سے ہمارے لئے ، تار کی لمبائی حرف تہجی میں مدد نہیں کرتی ہے۔ لہذا جب آپ اسے چلاتے ہیں تو ، حکم یہ نکلے گا:

['ما' ، 'ایڈمز' ، 'ڈائی میولا' ، 'زمڈوسکی']

ترتیب سب سے کم تار (سب سے کم حرفوں والا ایک) سے لمبی تار تک جا رہی ہے۔ اس وقت مددگار نہیں ہے۔

آپ تمام = چھوٹے یا بڑے حرفوں کو ترتیب دینے کے ل key کلید = لوئر یا کلیدی = اپر نہیں لکھ سکتے ہیں ، کیوں کہ نچلے اور اوپری بلٹ ان فنکشنز نہیں ہوتے ہیں (جس سے آپ بلٹ میں پائگل 3.7 گوگلنگ کے ذریعہ بہت جلد تصدیق کرسکتے ہیں) افعال).

کسی بلٹ ان فنکشن کے بدلے ، آپ اپنی مرضی کے مطابق فنکشن استعمال کرسکتے ہیں جو آپ ڈیف کا استعمال کرکے اپنے آپ کو بیان کرتے ہیں۔ مثال کے طور پر ، آپ لوئر () کے نام سے ایک فنکشن تشکیل دے سکتے ہیں جو اسٹرنگ کو قبول کرتا ہے اور اس سٹرنگ کو اپنے تمام خطوط کے ساتھ لوئر کیس میں بدل دیتا ہے۔ فنکشن یہ ہے:

Def لوئر (کسی بھی سٹرنگ):
"" "تار کو سب چھوٹے والے میں بدل دیتا ہے" ""
کوئی بھی ستارہ واپس کریں۔

نچلا نام بنا ہوا ہے ، اور کوئی بھی اسٹرنگ ایک پلیس ہولڈر ہے جو آپ مستقبل میں اس میں منتقل ہوجاتے ہیں۔ واپسی anystring.lower () واپسی کرتی ہے جو اسٹرنگ (string) آبجیکٹ کے .Looer () طریقہ کا استعمال کرتے ہوئے تمام چھوٹے میں تبدیل ہوجاتی ہے۔ (مزید معلومات کے لئے ازگر تار کے طریقوں کے بارے میں پڑھیں۔)

آپ کلید = لوئر کو ترتیب میں () قوسین میں استعمال نہیں کرسکتے ہیں کیونکہ لوئر () ایک بلٹ ان فنکشن نہیں ہے۔ یہ ایک طریقہ ہے… ایک جیسا نہیں۔ طرح طرح کے ان تمام بز ورڈز سے پریشان کن۔

فرض کیج you آپ یہ فنڪشن Jupyter سیل یا .py فائل میں لکھتے ہیں۔ پھر آپ فنکشن کو کسی ایسی چیز کے ساتھ کال کریں جیسے پرنٹ (لوئر کیسف ('زینڈوسکی'))۔ آؤٹ پٹ کے طور پر آپ کو جو کچھ ملتا ہے وہ یہ ہے کہ آپ نیچے دیکھتے ہی اس سٹرنگ کو سب چھوٹے والے میں تبدیل کردیا جاتا ہے۔

ازگر میں اپنی مرضی کے مطابق فنکشن لوئر ()

ٹھیک ہے ، لہذا اب آپ کے پاس کسی بھی تار کو تمام چھوٹے حرفوں میں تبدیل کرنے کے لئے کسٹم فنکشن ہے۔ آپ اسے ایک چابی کے بطور کیسے استعمال کریں گے؟ آسان ، استعمال کریں کلید = پہلے کی طرح ہی ٹرانسفارم ، لیکن ٹرانسفارم کو اپنی مرضی کے مطابق فنکشن نام سے تبدیل کریں۔ اس فنکشن کا نام لوئر کیساف رکھا گیا ہے ، لہذا آپ .sort (key = लोرین کیسف) استعمال کریں گے ، جیسا کہ درج ذیل میں دکھایا گیا ہے:

Def لوئر کیسف (کسی بھی سٹرنگ):
"" "تار کو سب چھوٹے والے میں بدل دیتا ہے" ""
کوئی بھی ستارہ واپس کریں۔
 
نام = ['ایڈمز' ، 'ما' ، 'ڈائی میولا' ، 'زینڈوسکی']
ناموں کو ترتیب دیں (کلیدی = چھوٹے حروف)

ناموں کی فہرست ظاہر کرنے کے لئے اس کوڈ کو چلانے سے وہ درست ترتیب میں آسکتے ہیں ، کیونکہ اس کی بنیاد اس طرح کی تار پر ہے جو تمام چھوٹے حصوں میں ہیں۔ آؤٹ پٹ پہلے کی طرح ہی ہے کیونکہ صرف چھانٹ رہا ہونا ، جو پردے کے پیچھے ہوتا ہے ، چھوٹے حروف کا استعمال کرتا تھا۔ اصل ڈیٹا اب بھی اپنے اصل بڑے اور چھوٹے حروف میں ہے۔

'ایڈمز' ، 'دی میڈولا' ، 'ما' ، 'زینڈوسکی'

اگر آپ ان سب کو پڑھنے کے بعد بھی بیدار اور ہوش میں ہیں تو آپ سوچ سکتے ہیں ، "ٹھیک ہے ، آپ چھانٹ رہا ہے مسئلہ کو حل کیا۔ لیکن میں نے سوچا کہ ہم یہاں لیمبڈا کے افعال کے بارے میں بات کر رہے ہیں۔ لامبڈا فنکشن کہاں ہے؟ ”ابھی لامبڈا فنکشن نہیں ہے۔

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

جب آپ کا فنکشن اس طرح ایک عام لائن لائن اظہار کے ساتھ اپنا کام کرسکتا ہے تو ، آپ ڈیف اور فنکشن کا نام چھوڑ سکتے ہیں اور صرف اس ترکیب کا استعمال کرسکتے ہیں:

لامبڈا پیرامیٹرز: اظہار

پیرامیٹرز کو ایک یا ایک سے زیادہ پیرامیٹر ناموں سے تبدیل کریں جو آپ خود بناتے ہیں (ڈیف کے بعد قوسین کے اندر نام اور باقاعدہ فنکشن میں فنکشن کا نام)۔ لفظ کی واپسی کے بغیر آپ اس فنکشن کو واپس کرنا چاہتے ہیں جس سے فنکشن لوٹ جائے۔ تو اس مثال میں کلید ، لیمبڈا اظہار کو استعمال کرتے ہوئے ، ہوگی:

لیمبڈا کوئی اسٹریننگ: anystring.lower ()

اب آپ دیکھ سکتے ہیں کہ یہ ایک گمنام فنکشن کیوں ہے؟ فنکشن نام لوئر کیسف () کے ساتھ پوری پہلی لائن ہٹا دی گئی ہے۔ لہذا لیمبڈا اظہار کو استعمال کرنے کا فائدہ یہ ہے کہ آپ کو بیرونی کسٹم فنکشن کی ضرورت ہی نہیں ہے۔ آپ کو صرف پیرامیٹر کی ضرورت ہے جس کے بعد کولون اور ایک تاثرات پائے جاتے ہیں جو یہ بتاتا ہے کہ واپس کیا جانا ہے۔

نیچے دی گئی تصویر مکمل کوڈ اور اس کو چلانے کا نتیجہ دکھاتی ہے۔ آپ کو کسٹمر کے بیرونی فنکشن جیسے لوئر کیسف () کی ضرورت کے بغیر ترتیب سے مناسب ترتیب مل جاتا ہے۔ آپ ابھی کسی بھی سٹرنگ کو استعمال کرتے ہیں: anystring.lower () (لفظ لیمبڈا کے بعد) بطور ترتیب کلید۔

ازگر لیمبڈا اظہار

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

نام = ['ایڈمز' ، 'ما' ، 'ڈائی میولا' ، 'زینڈوسکی']
names.sort (key = lambda s: s.lower ())
پرنٹ (نام)

اس تیراڈ کے آغاز میں واپس آنے پر ، یہ ذکر کیا گیا تھا کہ ایک لامبڈا فنکشن کو گمنام ہونا ضروری نہیں ہے۔ آپ ان کے نام دے سکتے ہیں اور دوسرے کاموں کی طرح ان کو کال کرسکتے ہیں۔

مثال کے طور پر ، یہاں ایک لیمبڈا فنکشن ہے جس کا نام کرنسی ہے جو کوئی بھی تعداد لے کر جاتا ہے اور کرنسی کی شکل میں اسٹرنگ کو واپس کرتا ہے (یعنی ایک اہم ڈالر کے نشان کے ساتھ ، ہزاروں کے درمیان کوما ، اور پیسوں کے لئے دو ہندسے):

کرنسی = لیمبڈا n: f "$ {n:،. 2f}"

یہاں ایک نامزد فیصد ہے جو آپ نے بھیجا ہے اس کی تعداد کو 100 سے بڑھا دیتا ہے اور آخر میں اسے دو فیصد نشان کے ساتھ ظاہر کرتا ہے:

فیصد = لیمبڈا این: ایف "{n: .2٪}"

مندرجہ ذیل تصویر میں جوپیٹر سیل کے اوپری حصے میں بیان کردہ دونوں افعال کی مثالیں دکھائی گئی ہیں۔ پھر کچھ پرنٹ اسٹیٹمنٹ نام سے افعال کو کال کرتے ہیں اور ان میں کچھ نمونہ ڈیٹا منتقل کرتے ہیں۔ ہر پرنٹ () بیانات مطلوبہ شکل میں نمبر دکھاتا ہے۔

ازگر کے فارمیٹنگ نمبر

آپ ان لوگوں کو سنگل لائن لیمبڈاس کی وضاحت کرنے کی وجہ یہ ہے کہ آپ تمام کام ایک ہی لائن میں کرسکتے ہیں ، f "$ {n:،. 2f}" پہلے والے کے لئے اور f "{n: .2٪}" کے لئے دوسرا۔ لیکن صرف اس وجہ سے کہ آپ یہ کام اس طرح کرسکتے ہیں ، اس کا مطلب یہ نہیں ہے کہ آپ کو لازمی طور پر ضروری ہے۔ مندرجہ ذیل کے طور پر ، آپ باقاعدہ کام بھی استعمال کرسکتے ہیں۔

کرنسی کی شکل میں نمبر دکھائیں۔
ڈیف کرنسی (n):
واپسی f "$ {n:،. 2f}"
 
ڈیف فیصد (n):
# تعداد کو فیصد کی شکل میں دکھائیں۔
واپسی f "{n: .2٪}"

اس طویل ترکیب کے ساتھ ، آپ مزید معلومات میں بھی گزر سکتے ہیں۔ مثال کے طور پر ، آپ کسی خاص چوڑائی کے اندر دائیں سیدھ والے فارمیٹ میں ڈفالٹ کرسکتے ہیں (15 حرف کہیے) تاکہ تمام اعداد ایک ہی چوڑائی میں دائیں سیدھ میں آئیں۔ شبیہہ دونوں افعال میں اس تغیر کو ظاہر کرتی ہے۔

ازگر فارمیٹنگ فنکشن کی مقررہ چوڑائی

مذکورہ شبیہہ میں ، دوسرا پیرامیٹر اختیاری ہے اور اگر چھوڑ دیا گیا تو 15 پر ڈیفالٹ ہے۔ لہذا اگر آپ اسے اس طرح کہتے ہیں:

پرنٹ (کرنسی (9999))

… آپ 15 9،999.00 کو بھرنے کے ل enough بائیں طرف کافی جگہوں کے ساتھ اسے 15 حرف چوڑا بنائیں گے۔ اگر آپ اس کے بجائے اس کو کہتے ہیں:

پرنٹ (کرنسی (9999،20)

… آپ کو پھر بھی $ 9،999.00 ملتا ہے لیکن بائیں طرف کافی جگہوں سے پیڈ لگاتے ہیں تاکہ اسے 20 حرف چوڑا بنایا جاسکے۔

اوپر استعمال کیا گیا .لڈز () ازگر کا بلٹ ان سٹرنگ طریقہ ہے جو اس کی مخصوص چوڑائی بنانے کے لئے کافی جگہوں کے ساتھ سٹرنگ کے بائیں جانب پیڈ کرتا ہے۔ دائیں طرف کو پیڈ کرنے کے لئے ایک رڈ () طریقہ بھی ہے۔ آپ جگہ کے علاوہ کسی اور کردار کی بھی وضاحت کرسکتے ہیں۔ اگر آپ کو مزید معلومات کی ضرورت ہو تو گوگل ازگر 3 لڈ رڈ۔

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

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

  1. پروگرامنگپیتھون ، ازگر کی فہرستوں کی وضاحت اور استعمال کیسے کریں

ایلن شوچ ، جان شوک کے ذریعہ

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

اسکور = [88، 92، 78، 90، 98، 84]

اگر اس فہرست میں ڈور شامل ہوں تو ، ہمیشہ کی طرح ، ان ڈوروں کو ایک یا دوہرے حوالوں سے منسلک کیا جانا چاہئے ، جیسا کہ اس مثال میں:

اسکرین پر کسی فہرست کے مندرجات کو ظاہر کرنے کے ل you ، آپ اسے اس طرح پرنٹ کرسکتے ہیں جیسے آپ کوئی باقاعدہ متغیر پرنٹ کریں گے۔ مثال کے طور پر ، اس فہرست کی وضاحت کے بعد آپ کے کوڈ میں پرنٹ (طلباء) کو پھانسی دینا اسکرین پر یہ ظاہر کرتا ہے۔

['مارک' ، 'عنبر' ، 'ٹوڈ' ، 'انیتا' ، 'سینڈی']

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

ازگر پوزیشن کے آئٹم کی فہرست کے لحاظ سے

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

فہرست کا نام [x]

جس فہرست تک آپ رسائی حاصل کر رہے ہیں اس کے نام کے ساتھ فہرست کا نام تبدیل کریں اور آپ کو مطلوبہ آئٹم کی پوزیشن نمبر کے ساتھ ایکس کی جگہ لیں۔ یاد رکھیں ، پہلی آئٹم ہمیشہ ایک صفر میں نہیں ، صفر میں ہوتا ہے۔ مثال کے طور پر ، ذیل میں پہلی سطر میں ، میں طلباء کے نام سے ایک فہرست کی وضاحت کرتا ہوں ، اور پھر اس فہرست سے آئٹم نمبر صفر پرنٹ کرتا ہوں۔ نتیجہ ، کوڈ پر عمل درآمد کرتے وقت ، یہ ہے کہ نام مارک ظاہر ہوتا ہے۔
طلباء = ["مارک" ، "عنبر" ، "ٹوڈ" ، "انیتا" ، "سینڈی"]
پرنٹ (طلباء [0])
نشان لگائیں

جب رسائی کی فہرست والی اشیاء کو پڑھتے ہو تو ، پیشہ ور افراد نمبر سے پہلے سب سب کا لفظ استعمال کرتے ہیں۔ مثال کے طور پر ، طلباء [0] کو طلباء سب صفر کے طور پر بولے جائیں گے۔

یہ اگلی مثال اسکور نامی ایک فہرست دکھاتی ہے۔ پرنٹ () فنکشن فہرست میں آخری اسکور کی پوزیشن نمبر پرنٹ کرتا ہے ، جو 4 ہوتا ہے (کیونکہ پہلا ہمیشہ صفر ہوتا ہے)۔

اسکور = [88 ، 92 ، 78 ، 90 ، 84]
پرنٹ (اسکور [4])
84

اگر آپ کسی ایسی فہرست والے آئٹم تک رسائی حاصل کرنے کی کوشش کرتے ہیں جو موجود نہیں ہے تو آپ کو ایک "اشاریہ سے باہر کی" غلطی مل جاتی ہے۔ اشاریہ حصہ مربع خط وحدت کے اندر موجود نمبر کا حوالہ ہے۔ مثال کے طور پر ، نیچے دی گئی تصویر جپٹر نوٹ بک میں تھوڑا سا تجربہ دکھاتی ہے جہاں اسکور کی ایک فہرست بنائی گئی تھی اور پھر اسکور [5] کی طباعت کی کوشش کی گئی تھی۔

اس میں ناکام رہا اور اس نے ایک خرابی پیدا کردی کیونکہ کوئی اسکور نہیں ہے [5]۔ یہاں صرف اسکور [0] ، اسکور [1] ، اسکور [2] ، اسکور [3] ، اور اسکور ہیں [4] کیونکہ گنتی ہمیشہ فہرست میں پہلے نمبر پر صفر سے شروع ہوتی ہے۔

ازگر اشاریہ کی حد

ازگر کی فہرست کے ذریعے لوپنگ

ایک فہرست میں ہر آئٹم تک رسائی حاصل کرنے کے لئے ، اس ترکیب کے ساتھ صرف ایک لوپ کیلئے استعمال کریں:

فہرست میں X کے لئے:

x کو اپنی پسند کے متغیر نام سے تبدیل کریں۔ فہرست کو فہرست کے نام کے ساتھ تبدیل کریں۔ کوڈ کو پڑھنے کے قابل بنانے کا ایک آسان طریقہ یہ ہے کہ ہمیشہ فہرست کے نام کے ل always کثرت استعمال کریں (جیسے طلباء ، اسکور)۔ تب آپ متغیر نام کے لئے واحد نام (طالب علم ، اسکور) استعمال کرسکتے ہیں۔ آپ کو بھی اس نقطہ نظر کے ساتھ سبسکرپٹ نمبر (مربع بریکٹ میں نمبر) استعمال کرنے کی ضرورت نہیں ہے۔ مثال کے طور پر ، درج ذیل کوڈ اسکور فہرست میں ہر اسکور کو طباعت کرتا ہے۔

اسکور میں اسکور کے لئے:
پرنٹ (اسکور)

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

ازگر کی فہرست کے ذریعے لوپنگ

یہ دیکھنا کہ آیا ازگر کی فہرست میں کوئی شے ہے

اگر آپ چاہتے ہیں کہ آپ کے کوڈ کو فہرست کے مندرجات کی جانچ پڑتال کے ل. یہ معلوم کریں کہ آیا اس میں پہلے سے کوئی چیز موجود ہے تو ، اگر بیان میں یا متغیر تفویض میں فہرست نام میں استعمال کریں۔

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

یہ دیکھ رہا ہے کہ آیا آئٹم لسٹ میں ہے یا نہیں

ازگر کی فہرست کی لمبائی حاصل کرنا

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

طلباء = ["مارک" ، "عنبر" ، "ٹوڈ" ، "انیتا" ، "سینڈی"]
پرنٹ (لین (طلبا))

اس کوڈ کو چلانے سے یہ نتیجہ برآمد ہوتا ہے:

5

اس فہرست میں واقعی میں پانچ آئٹمز موجود ہیں ، حالانکہ آخری ایک ہمیشہ نمبر سے ایک کم ہوتا ہے کیونکہ ازگر گنتی صفر سے شروع ہوتا ہے۔ تو آخری ، سینڈی ، دراصل طلباء سے مراد ہے [4] نہ کہ طلباء [5]۔

ازگر کی فہرست کے آخر میں کسی آئٹم کو شامل کرنا

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

مثال کے طور پر ، مندرجہ ذیل تصویر میں وہ سطر جو طلباء کو پڑھتی ہے۔ اس لائن میں جو طالب علموں کو پڑھتے ہیں۔ .append () طریقہ ہمیشہ فہرست کے آخر میں شامل ہوتا ہے۔ لہذا جب آپ فہرست پرنٹ کرتے ہیں تو آپ آخر میں ان دو نئے ناموں کو دیکھیں گے۔

ازگر ضمیمہ کی فہرست

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

طالب علم کا نام = "امندا"

# طالب علم کا نام شامل کریں لیکن صرف اس صورت میں جب فہرست میں شامل نہ ہوں۔
اگر طالب علموں میں طالب علم کا نام:
    پرنٹ (طالب علم کا نام + "پہلے ہی فہرست میں ہے")
اور:
    طلباء۔اپینڈ (طالب علم کا نام)
    پرنٹ (طالب علم کا نام + "فہرست میں شامل")

ازگر کی فہرست میں آئٹم داخل کرنا

اگرچہ ضمیمہ () کا طریقہ آپ کو کسی فہرست کے آخر میں کسی آئٹم کو شامل کرنے کی اجازت دیتا ہے ، لیکن داخل () طریقہ آپ کو کسی بھی پوزیشن میں فہرست میں کسی آئٹم کو شامل کرنے کی اجازت دیتا ہے۔ داخل کرنے کے لئے نحو () ہے

listname.insert (پوزیشن ، آئٹم)

فہرست کے نام ، فہرست کے نام کے ساتھ اس پوزیشن کے ساتھ تبدیل کریں جس مقام پر آپ آئٹم داخل کرنا چاہتے ہیں (مثال کے طور پر ، 0 اسے پہلی شے بنانا ہے ، 1 دوسری چیز بنانے کے ل 1 ، اور اسی طرح)۔ آئٹم کو ویلیو ، یا کسی متغیر کے نام سے اس کی جگہ دیں جس میں ویلیو موجود ہو ، جسے آپ فہرست میں رکھنا چاہتے ہیں۔

مثال کے طور پر ، درج ذیل کوڈ لیوپ کو فہرست میں پہلی چیز بناتا ہے۔

# ڈور (نام) کی فہرست بنائیں۔
طلباء = ["مارک" ، "عنبر" ، "ٹوڈ" ، "انیتا" ، "سینڈی"]

طالب علم کا نام = "لوپ"
# فہرست کے سامنے طلبہ کا نام شامل کریں۔
طلباء انڈینٹریٹ (0 ، طالب علم کا نام)

# مجھے نئی فہرست دکھائیں۔
پرنٹ (طلباء)

اگر آپ کوڈ چلاتے ہیں تو ، پرنٹ (طلباء) نیا نام داخل ہونے کے بعد فہرست کو ظاہر کریں گے ، جیسا کہ:

['لوپے' ، 'مارک' ، 'عنبر' ، 'ٹوڈ' ، 'انیتا' ، 'سینڈی']

ازگر کی فہرست میں کسی شے کو تبدیل کرنا

آپ ایک فہرست میں = اسائنمنٹ آپریٹر (ان عمومی آیتر آپریٹرز کو چیک کریں) کا استعمال کرتے ہوئے اسی طرح کی اشیاء کو تبدیل کرسکتے ہیں جیسے آپ متغیر کے ساتھ کرتے ہیں۔ بس یہ یقینی بنائیں کہ آپ جس شے کو تبدیل کرنا چاہتے ہیں اس کے مربع بریکٹ میں انڈیکس نمبر شامل کریں۔ نحو یہ ہے:

فہرست کا نام [اشاریہ] = نیا

فہرست کے نام کے ساتھ فہرست کا نام تبدیل کریں۔ جس شے کو آپ تبدیل کرنا چاہتے ہیں اس کے سبسکرپٹ (انڈیکس نمبر) کے ساتھ انڈیکس کو تبدیل کریں۔ اور جو کچھ بھی آپ فہرست آئٹم میں رکھنا چاہتے ہیں اس کے ساتھ نوویلیو کو تبدیل کریں۔ مثال کے طور پر ، اس کوڈ پر ایک نظر ڈالیں:

# ڈور (نام) کی فہرست بنائیں۔
طلباء = ["مارک" ، "عنبر" ، "ٹوڈ" ، "انیتا" ، "سینڈی"]
طلباء [3] = "ہوبارٹ"
پرنٹ (طلباء)

جب آپ اس کوڈ کو چلاتے ہیں تو آؤٹ پٹ مندرجہ ذیل ہوتا ہے ، کیونکہ انیتا کا نام ہوبارٹ میں تبدیل کردیا گیا ہے۔

['مارک' ، 'امبر' ، 'ٹوڈ' ، 'ہوبارٹ' ، 'سینڈی']

ازگر کی فہرستوں کا امتزاج کرنا

اگر آپ کے پاس دو فہرستیں ہیں جو آپ ایک ہی فہرست میں جوڑنا چاہتے ہیں تو نحو کے ساتھ توسیع () فنکشن استعمال کریں:

original_list.extend (اضافی_ٹیم_ فہرست)

اپنے کوڈ میں ، اس فہرست کے نام کے ساتھ اوریجنل لسٹ کو تبدیل کریں جس میں آپ فہرست کی نئی اشیاء شامل کریں گے۔ اضافی_ٹیم_اس فہرست کو فہرست کے نام کے ساتھ تبدیل کریں جس میں وہ آئٹم شامل ہیں جن کو آپ پہلی فہرست میں شامل کرنا چاہتے ہیں۔ فہرست 1 اور list2 نامی فہرستوں کا استعمال کرتے ہوئے ایک سادہ مثال یہ ہے۔ list1.extend (list2) کو پھانسی دینے کے بعد ، پہلی فہرست میں دونوں فہرستوں سے آئٹم موجود ہیں ، جیسا کہ آپ آخر میں پرنٹ () بیان کی آؤٹ پٹ میں دیکھ سکتے ہیں۔

# ناموں کی دو فہرستیں بنائیں۔
list1 = ["زارا" ، "لوپے" ، "ہانگ" ، "البرٹو" ، "جیک"]
list2 = ["Huey" ، "Dewey" ، "لوئی" ، "نادر" ، "Bubba"]

# 1 فہرست میں فہرست 2 نام شامل کریں۔
list1.extend (list2)

# پرنٹ لسٹ 1۔
پرنٹ (list1)

['زارا' ، 'لوپے' ، 'ہانگ' ، 'البرٹو' ، 'جیک' ، 'ہیوئ' ، 'ڈوی' ، 'لوئی' ، 'نادر' ، 'ببہ']

آسان پرچیسی ، نہیں؟

ازگر کی فہرست والی اشیاء کو ہٹا رہا ہے

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

# فہرست سے "C" کو ہٹا دیں۔
حرفوں کو ختم کریں ("C")

# مجھے نئی فہرست دکھائیں۔
پرنٹ (خطوط)

جب آپ واقعی اس کوڈ کو پھانسی دیتے ہیں اور پھر اس فہرست کو پرنٹ کرتے ہیں تو آپ دیکھیں گے کہ صرف پہلا حرف C ہی ہٹا دیا گیا ہے:

['A' ، 'B' ، 'D' ، 'C' ، 'E' ، 'C']

اگر آپ کو سبھی آئٹمز کو ہٹانے کی ضرورت ہے تو ، آپ. کو دہرانے کے لئے تھوڑی دیر کا لوپ استعمال کرسکتے ہیں جب تک کہ آئٹم فہرست میں باقی ہے۔ مثال کے طور پر ، اس کوڈ کو دہرایا جاتا ہے۔ جب تک کہ "C" ابھی تک فہرست میں نہیں ہے ، اسے ختم کریں۔

# تار کی ایک فہرست بنائیں۔
حرف = ["A" ، "B" ، "C" ، "D" ، "C" ، "E" ، "C"]

اگر آپ فہرست میں اس کی پوزیشن کی بنیاد پر کسی شے کو ہٹانا چاہتے ہیں تو ، پکس () کو انڈیکس نمبر کے ساتھ استعمال کریں بجا rather () کو قدر کے ساتھ ہٹائیں۔ اگر آپ فہرست سے آخری آئٹم کو ختم کرنا چاہتے ہیں تو ، انڈیکس نمبر کے بغیر پاپ () استعمال کریں۔

مثال کے طور پر ، درج ذیل کوڈ ایک فہرست بناتا ہے ، ایک لائن پہلی آئٹم (0) کو ہٹا دیتی ہے ، اور دوسرا آخری آئٹم (پاپ () کو ہٹا دیتا ہے جس میں قوسین میں کچھ بھی نہیں ہوتا ہے)۔ فہرست کی چھپائی سے یہ ظاہر ہوتا ہے کہ وہ دو اشیاء ہٹا دی گئیں:

# تار کی ایک فہرست بنائیں۔
حرف = ["A" ، "B" ، "C" ، "D" ، "E" ، "F" ، "G"]
 
# پہلی شے کو ہٹا دیں۔
حرفوں.پپ (0)
# آخری آئٹم کو ہٹا دیں۔
حرفوں.پپ ()
 
# مجھے نئی فہرست دکھائیں۔
پرنٹ (خطوط)

کوڈ کو چلانے سے پتہ چلتا ہے کہ پہلی اور آخری چیزوں کو پاپ کرنے سے ، واقعتا کام ہوا:

['B'، 'C'، 'D'، 'E'، 'F']

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

ازگر کی فہرست سے آئٹمز کو ہٹا دیں

ازگر ایک ڈیل (حذف کرنے کے لئے مختصر) کمانڈ بھی پیش کرتا ہے جو کسی بھی آئٹم کو فہرست سے کسی فہرست کو اس کے انڈیکس نمبر (پوزیشن) کی بنیاد پر حذف کردیتی ہے۔ لیکن ایک بار پھر ، آپ کو یاد رکھنا ہوگا کہ پہلی شے صفر ہے۔ تو ، چلیں ہم کہتے ہیں کہ آپ فہرست سے آئٹم نمبر 2 کو حذف کرنے کے لئے درج ذیل کوڈ کو چلاتے ہیں:

# تار کی ایک فہرست بنائیں۔
حرف = ["A" ، "B" ، "C" ، "D" ، "E" ، "F" ، "G"]
 
# آئٹم سب 2 کو ہٹا دیں۔
ڈیل خطوط [2]
 
پرنٹ (خطوط)

اس کوڈ کو چلانے سے مندرجہ ذیل فہرست دوبارہ دکھائی دیتی ہے۔ حرف C کو حذف کردیا گیا ہے ، جو حذف کرنے کے لئے صحیح آئٹم ہے کیونکہ حروف کو 0 ، 1 ، 2 ، 3 ، اور اسی طرح کے نمبر لگے ہیں۔

['A' ، 'B' ، 'D' ، 'E' ، 'F' ، 'G']

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

ازگر کی فہرست کو حذف کریں

ازگر کی فہرست کو صاف کرنا

اگر آپ کسی فہرست کے مندرجات کو ختم کرنا چاہتے ہیں لیکن خود ہی فہرست میں نہیں ہیں تو ، کلیئر () استعمال کریں۔ فہرست اب بھی موجود ہے؛ تاہم ، اس میں کوئی آئٹم نہیں ہے۔ دوسرے لفظوں میں ، یہ ایک خالی فہرست ہے۔ درج ذیل کوڈ سے پتہ چلتا ہے کہ آپ اس کی جانچ کیسے کرسکتے ہیں۔ آخر میں کوڈ ڈسپلے کو چلانا [] ، جس سے آپ کو معلوم ہوسکتا ہے کہ فہرست خالی ہے:

# تار کی ایک فہرست بنائیں۔
حرف = ["A" ، "B" ، "C" ، "D" ، "E" ، "F" ، "G"]
 
# تمام اندراجات کی فہرست صاف کریں۔
حرف (ص)
 
# مجھے نئی فہرست دکھائیں۔
پرنٹ (خطوط)

[]

گنتی ہے کہ آئٹم لسٹ میں آئٹم کی کتنی بار نمائش ہوتی ہے

فہرست میں کسی آئٹم کو کتنی بار ظاہر ہونے کی گنتی کے لئے آپ ازگر گنتی () کا طریقہ استعمال کرسکتے ہیں۔ فہرست کے دیگر طریقوں کی طرح ، نحو بھی آسان ہے۔

listname.count (x)

فہرست کی فہرست کو اپنی فہرست کے نام سے ، اور ایکس کو اس قدر سے تبدیل کریں جس کی آپ تلاش کر رہے ہیں (یا کسی متغیر کا نام جس میں اس قدر پر مشتمل ہو)۔

ذیل میں شبیہہ کے کوڈ میں شمار ہوتا ہے کہ حرف B حرف فہرست میں کتنی بار ظاہر ہوتا ہے ، لفظی (B) کی قوسین کے اندر لفظی B کا استعمال کرتے ہوئے۔ یہ ایک ہی کوڈ سی گریڈ کی تعداد کو بھی گنتا ہے ، لیکن اس کی قیمت نحو میں فرق ظاہر کرنے کے لئے ایک متغیر میں محفوظ کی گئی تھی۔ دونوں گوشوں نے کام کیا ، جیسا کہ آپ نیچے دیئے گئے پروگرام کے آؤٹ پٹ میں دیکھ سکتے ہیں۔ کسی کو متغیرات کا استعمال نہیں کرتے ہوئے ، ایف اے گننے کے لئے شامل کیا گیا تھا۔ F کو صحیح کوڈ میں شمار کیا گیا تھا جو پیغام کو ظاہر کرتا ہے۔ یہاں کوئی ایف گریڈ نہیں ہیں ، لہذا یہ صفر واپس آجاتا ہے ، جیسا کہ آپ آؤٹ پٹ میں دیکھ سکتے ہیں۔

ازگر کی فہرست اشیاء کو شمار کریں

جب پیغام بنانے کے لئے نمبروں اور تاروں کو جوڑنے کی کوشش کرتے ہو تو ، یاد رکھیں آپ کو str () فنکشن کا استعمال کرتے ہوئے نمبروں کو ڈور میں تبدیل کرنا ہوگا۔ بصورت دیگر ، آپ کو ایک ایسی خرابی ملتی ہے جس کو پڑھنے سے کچھ ایسا ہی پڑھتا ہے جو صرف str (کو "int" نہیں) سے لکھ سکتا ہے۔ اس پیغام میں ، عدد عددی کے لئے مختصر ہے ، اور تار تار کے لئے مختصر ہے۔

ازگر فہرست آئٹم کا انڈیکس تلاش کرنا

ازگر ایک .index () طریقہ پیش کرتا ہے جو فہرست میں کسی شے کی اشاریہ نمبر کی بنیاد پر ایک نمبر لوٹاتا ہے ، جس کی نشاندہی کرتا ہے۔ نحو یہ ہے:

listname.index (x)

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

مندرجہ ذیل تصویر میں ایک مثال دکھائی گئی ہے جہاں پروگرام f_index = grades.index (look_for) لائن پر گر پڑتا ہے کیونکہ فہرست میں ایف نہیں ہے۔

ازگر فہرست آئٹم انڈیکس

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

# تار کی ایک فہرست بنائیں۔
درجہ = ["C" ، "B" ، "A" ، "D" ، "C" ، "B" ، "C"]
# فیصلہ کریں کہ کیا دیکھنا ہے
look_for = "F"
# دیکھیں کہ آیا فہرست میں شے ہے یا نہیں۔
اگر look_ for گریڈ میں:
    # اگر یہ فہرست میں ہے تو ، انڈیکس حاصل کرکے دکھائیں۔
    پرنٹ (str (look_for) + "انڈیکس پر ہے" + str (گریڈ ڈاٹ انڈیکس (look_for)))
اور:
    # اگر فہرست میں نہیں ہے تو ، انڈیکس نمبر کے لئے بھی کوشش نہ کریں۔
    پرنٹ (str (look_for) + "فہرست میں شامل نہیں ہے۔")

حروف تہجی اور ازگر کی فہرست کو چھانٹ رہا ہے

ازگر فہرستوں کو چھانٹنے کے ل a ایک طرح کا () طریقہ پیش کرتا ہے۔ اس کی آسان ترین شکل میں ، وہ فہرست میں آئٹمز کو حرفی شکل دیتا ہے (اگر وہ تار ہوتے ہیں)۔ اگر فہرست میں نمبر شامل ہیں تو ، وہ چھوٹے سے بڑے تک ترتیب دیا گیا ہے۔ اس طرح کی ایک عام طرح کے لئے ، صرف خالی قوسین کے ساتھ ترتیب دیں () کا استعمال کریں:

listname.sort ()

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

ازگر کی فہرست کو ترتیب دیں

اگر آپ کی فہرست میں بڑے اور چھوٹے حروف کے مرکب والے ڈور موجود ہیں ، اور اگر ترتیب کے نتائج صحیح نہیں لگتے ہیں تو .sort (key = lambda s: s.lower ()) کے ساتھ .sort () کو تبدیل کرنے کی کوشش کریں۔ کوڈ دوبارہ چل رہا ہے۔

تاریخیں قدرے مشکل ہیں کیونکہ آپ ان کو صرف "12/31/2020" کی طرح ڈور میں نہیں لکھ سکتے ہیں۔ صحیح طریقے سے ترتیب دینے کے ل They ان کے پاس ڈیٹا ڈیٹا ٹائپ ہونا چاہئے۔ اس کا مطلب ہے کہ ہر تاریخ کی وضاحت کے ل to ڈیٹ ٹائم ماڈیول اور تاریخ () کا طریقہ استعمال کریں۔ آپ اس فہرست میں تاریخوں کو شامل کرسکتے ہیں جیسا کہ آپ کسی اور فہرست میں ہوتے ہیں۔ مثال کے طور پر ، درج ذیل لائن میں ، کوڈ چار تاریخوں کی فہرست تیار کرتا ہے ، اور کوڈ بالکل ٹھیک ہے۔

تاریخیں = [dt.date (2020،12،31)، dt.date (2019،1،31)، dt.date (2018،2،28)، dt.date (2020،1،1)]

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

ڈیٹ لسٹ = []
ازگر میں تاریخوں کی نمائش کریں

پھر ایک وقت میں ایک تاریخ کو dt.date (سال ، مہینہ ، دن) ترکیب استعمال کرتے ہوئے اس فہرست میں شامل کیا گیا۔

فہرست بننے کے بعد ، کوڈ تاریخ فہرست میں شامل ہوتا ہے۔ ترتیب دیں () ان کو تاریخی ترتیب میں ترتیب دینے کے لئے (جلد از جلد تازہ ترین)۔ آپ کو اس کوڈ میں پرنٹ (ڈیٹ لسٹ) استعمال کرنے کی ضرورت نہیں ہے کیونکہ یہ طریقہ اس طرح کی معلومات کو شامل ڈیٹا کی معلومات کے ساتھ تاریخوں کو ظاہر کرتا ہے۔

[ڈیٹ ٹائم ڈاٹ ڈیٹ (2018 ، 2 ، 28) ، ڈیٹ ٹائم ڈاٹ ڈیٹ (2019 ، 1 ، 31) ، ڈیٹ ٹائم ڈاٹ ڈیٹ (2020 ، 1 ، 1) ، ڈیٹ ٹائم ڈاٹ ڈیٹ (2020 ، 12 ، 31)]

پڑھنے کے لئے آسان ترین فہرست نہیں۔ لہذا ، پوری فہرست کو ایک پرنٹ () بیان کے ساتھ پرنٹ کرنے کے بجائے ، آپ اس فہرست میں ہر تاریخ کو لوپ کرسکتے ہیں ، اور ہر ایک کو f-string٪ m /٪ d /٪ Y کے ساتھ فارمیٹ کرتے ہوئے پرنٹ کرسکتے ہیں۔ یہ ہر تاریخ کو اپنی لائن پر ملی میٹر / ڈی ڈی / یحیی

اگر آپ اشیاء کو الٹا ترتیب میں ترتیب دینا چاہتے ہیں تو ، ترتیب دیں () قوسین کے اندر ریورس = ٹرول ڈالیں (اور پہلے حرف کو بڑے میں بنانا مت بھولیے)۔ ذیل کی شبیہہ میں تینوں فہرستوں کو ترتیب سے اتارنے (ریورس) ترتیب میں ریورس = سچ کا استعمال کرتے ہوئے مثال کے طور پر دکھایا گیا ہے۔

الٹ میں ازگر کی فہرست میں معلومات کو ترتیب دیں

ازگر کی فہرست کو تبدیل کرنا

آپ. ریورس طریقہ استعمال کرکے کسی فہرست میں آئٹمز کی ترتیب کو بھی پلٹ سکتے ہیں۔ یہ ریورس میں چھانٹنے کے مترادف نہیں ہے ، کیوں کہ جب آپ ریورس ترتیب دیتے ہیں تو پھر بھی آپ اصل میں ترتیب دیتے ہیں: Z – A تار کے لئے ، سب سے چھوٹی سے بڑی تعداد میں ، تاریخوں کے لئے قدیم ترین۔ جب آپ کسی فہرست کو الٹ دیتے ہیں تو ، آپ فہرست میں موجود اشیاء کو صرف اس کے الٹ دیتے ہیں ، اس سے کوئی فرق نہیں پڑتا ہے ، کسی بھی طرح سے ان کو ترتیب دینے کی کوشش کیے بغیر۔

مندرجہ ذیل کوڈ میں ایک مثال دکھائی گئی ہے جس میں آپ فہرست میں ناموں کی ترتیب کو تبدیل کرتے ہیں اور پھر فہرست پرنٹ کرتے ہیں۔ آؤٹ پٹ اس فہرست کے آئٹموں کو ان کے اصل ترتیب سے الٹا دکھاتا ہے:

# تار کی ایک فہرست بنائیں۔
نام = ["زارا" ، "لوپے" ، "ہانگ" ، "البرٹو" ، "جیک"]
# فہرست کو الٹ دیں
names.revers ()
# فہرست پرنٹ کریں
پرنٹ (نام)
 
['جیک' ، 'البرٹو' ، 'ہانگ' ، 'لوپے' ، 'زارا']

ازگر کی فہرست کاپی کرنا

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

# تار کی ایک فہرست بنائیں۔
نام = ["زارا" ، "لوپے" ، "ہانگ" ، "البرٹو" ، "جیک"]
 
# فہرست کی ایک کاپی بنائیں
پچھلے ناموں = ناموں کوپی ()
# کاپی ریورس کریں
پچھلے ناموں۔ ریورس ()
 
# فہرست پرنٹ کریں
پرنٹ (نام)
پرنٹ (پسماندہ نام)
 
['زارا' ، 'لوپے' ، 'ہانگ' ، 'البرٹو' ، 'جیک']
['جیک' ، 'البرٹو' ، 'ہانگ' ، 'لوپے' ، 'زارا']

مستقبل کے حوالوں کے لئے ، درج ذیل جدول میں ان طریقوں کا خلاصہ بیان کیا گیا ہے جن کے بارے میں آپ نے سیکھا ہے۔