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

How Sort Lists Python



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

ترتیب کا طریقہ

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







کی= [، ، ، ]

.ترتیب دیں()

پرنٹ کریں (کی)

مندرجہ بالا کوڈ نمونہ چلانے کے بعد ، آپ کو درج ذیل آؤٹ پٹ حاصل کرنا چاہیے:



[، ، ، ]

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



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





کی= [، ، ، ]

.ترتیب دیں()

.معکوس()

پرنٹ کریں (کی)

مندرجہ بالا کوڈ نمونہ چلانے کے بعد ، آپ کو درج ذیل آؤٹ پٹ حاصل کرنا چاہیے:

[، ، ، ]

ریورس طریقہ کار نئی فہرست بنائے بغیر ازگر کی فہرست کو جگہ جگہ تبدیل کرتا ہے۔



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

کی= [کی، 'سے'، 'کے ساتھ'، '4'، '#']

.ترتیب دیں()
پرنٹ کریں (کی)

مندرجہ بالا کوڈ نمونہ چلانے کے بعد ، آپ کو درج ذیل آؤٹ پٹ حاصل کرنا چاہیے:

['#'، '4'، 'سے'، کی، 'کے ساتھ']

آپ سٹرنگ عناصر پر مشتمل فہرست میں ریورس طریقہ بھی استعمال کرسکتے ہیں۔

کی= [کی، 'سے'، 'کے ساتھ'، '4'، '#']

.ترتیب دیں()

.معکوس()

پرنٹ کریں (کی)

مندرجہ بالا کوڈ نمونہ چلانے کے بعد ، آپ کو درج ذیل آؤٹ پٹ حاصل کرنا چاہیے:

['کے ساتھ'، کی، 'سے'، '4'، '#']

ترتیب شدہ طریقہ۔

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

فہرست 1= [کی، 'سے'، 'کے ساتھ'، '4'، '#']

فہرست 2= ترتیب دیا گیا(فہرست 1)

پرنٹ کریں (فہرست 1،فہرست 2)

مندرجہ بالا کوڈ نمونہ چلانے کے بعد ، آپ کو درج ذیل آؤٹ پٹ حاصل کرنا چاہیے:

[کی، 'سے'، 'کے ساتھ'، '4'، '#'] ['#'، '4'، 'سے'، کی، 'کے ساتھ']

آپ آؤٹ پٹ میں دیکھ سکتے ہیں کہ list1 برقرار ہے اور list2 میں اب عناصر کو ترتیب دیا گیا ہے۔ آپ اس کے آرڈر کرنے کے طریقہ کار کو تبدیل کرنے کے لیے list2 پر الٹا طریقہ بھی استعمال کر سکتے ہیں۔

ریورس دلیل۔

نزولی ترتیب میں ترتیب شدہ فہرست حاصل کرنے کے لیے آپ ترتیب اور ترتیب دونوں طریقوں سے فنکشن کو ریورس کرنے کے متبادل کے طور پر ریورس دلیل استعمال کر سکتے ہیں۔ ترتیب دینے کی ترتیب کو تبدیل کرنے کے لیے اسے صرف ایک حقیقی قیمت فراہم کریں:

فہرست 1= [کی، 'سے'، 'کے ساتھ'، '4'، '#']

فہرست 2= ترتیب دیا گیا(فہرست 1،معکوس=سچ ہے۔)

پرنٹ کریں (فہرست 1،فہرست 2)

مندرجہ بالا کوڈ نمونہ چلانے کے بعد ، آپ کو درج ذیل آؤٹ پٹ حاصل کرنا چاہیے:

[کی، 'سے'، 'کے ساتھ'، '4'، '#'] ['کے ساتھ'، کی، 'سے'، '4'، '#']

فہرست کے عناصر کو ترتیب دینے کے لیے اپنی منطق کی وضاحت کے لیے کلیدی فنکشن کا استعمال۔

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

فہرست 1= ['abcde'، 'xyz'، 'اجکل']

فہرست 2= ترتیب دیا گیا(فہرست 1،چابی=لین)

پرنٹ کریں (فہرست 1،فہرست 2)

فہرست 1.ترتیب دیں(چابی=لین)

پرنٹ کریں (فہرست 1)

مندرجہ بالا کوڈ نمونہ چلانے کے بعد ، آپ کو درج ذیل آؤٹ پٹ حاصل کرنا چاہیے:

['abcde'، 'xyz'، 'اجکل'] ['xyz'، 'اجکل'، 'abcde']

['xyz'، 'اجکل'، 'abcde']

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

آپ اپنی مرضی کے مطابق فنکشن یا ون لائنر لیمبڈا افعال بھی استعمال کرسکتے ہیں جو ایک ایکسپریشن کی قدر لوٹاتے ہیں۔ ذیل میں کوڈ کے نمونے پر ایک نظر ڈالیں جہاں ایک فہرست میں پھلوں کے خانے کی موجودہ انوینٹری کے ٹکڑے ہیں:

فہرست 1= [('آم'، 99۔)، ('کینو'، 51۔)، ('کیلا'، 76۔)]

فہرست 1.ترتیب دیں(چابی=لیمبڈاانوینٹری: انوینٹری[])

پرنٹ کریں (فہرست 1)

مندرجہ بالا کوڈ نمونہ چلانے کے بعد ، آپ کو درج ذیل آؤٹ پٹ حاصل کرنا چاہیے:

[('کینو'، 51۔)، ('کیلا'، 76۔)، ('آم'، 99۔)]

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

نتیجہ

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