Python میں فہرست کو صعودی یا نزولی ترتیب میں ترتیب دینے کے دو طریقے ہیں۔
sort()sorted()
اگر آپ سٹرنگ یا ٹیپل کو ترتیب دینا چاہتے ہیں تو sorted() کا استعمال کریں۔
درج ذیل معلومات یہاں فراہم کی گئی ہیں۔
- قسم کی فہرست کا ایک طریقہ جو اصل فہرست کو ترتیب دیتا ہے۔
sort() - ایک نئی ترتیب شدہ فہرست بنائیں، بلٹ ان فنکشن: ۔
sorted() - تاروں اور ٹیپلوں کو کیسے ترتیب دیا جائے۔
اصل فہرست کو ترتیب دینا، قسم کی فہرست کا ایک طریقہ: sort()
sort() ایک فہرست قسم کا طریقہ ہے۔
ایک تباہ کن عمل جس میں اصل فہرست خود دوبارہ لکھی جاتی ہے۔
org_list = [3, 1, 4, 5, 2]
org_list.sort()
print(org_list)
# [1, 2, 3, 4, 5]
نوٹ کریں کہ sort() None کو نہیں لوٹاتا ہے۔
print(org_list.sort())
# None
ڈیفالٹ صعودی ترتیب ہے۔ اگر آپ نزولی ترتیب میں ترتیب دینا چاہتے ہیں، تو دلیل کو الٹ درست پر سیٹ کریں۔
org_list.sort(reverse=True)
print(org_list)
# [5, 4, 3, 2, 1]
ایک نئی ترتیب شدہ فہرست بنائیں، بلٹ ان فنکشن: sorted()
sorted() ایک بلٹ ان فنکشن ہے۔
ترتیب شدہ فہرست لوٹاتا ہے جب ترتیب کی جانے والی فہرست کو دلیل کے طور پر بیان کیا جاتا ہے۔ یہ ایک غیر تباہ کن عمل ہے جو اصل فہرست کو تبدیل نہیں کرتا ہے۔
org_list = [3, 1, 4, 5, 2]
new_list = sorted(org_list)
print(org_list)
print(new_list)
# [3, 1, 4, 5, 2]
# [1, 2, 3, 4, 5]
جیسا کہ sort() کے ساتھ، ڈیفالٹ صعودی ترتیب ہے۔ اگر آپ نزولی ترتیب میں ترتیب دینا چاہتے ہیں، تو دلیل کو الٹ درست پر سیٹ کریں۔
new_list_reverse = sorted(org_list, reverse=True)
print(org_list)
print(new_list_reverse)
# [3, 1, 4, 5, 2]
# [5, 4, 3, 2, 1]
تاروں اور ٹیپلوں کو کیسے ترتیب دیا جائے۔
چونکہ سٹرنگز اور ٹیپلز ناقابل تغیر ہیں، اس لیے اصل آبجیکٹ کو دوبارہ لکھنے کے لیے کوئی sort() طریقہ دستیاب نہیں ہے۔
دوسری طرف، sorted() فنکشن کی دلیل، جو ایک نئی آبجیکٹ کے طور پر ایک ترتیب شدہ فہرست تیار کرتی ہے، ایک سٹرنگ یا ٹوپل کے ساتھ ساتھ ایک فہرست بھی ہو سکتی ہے۔ تاہم، چونکہ sorted() ایک فہرست واپس کرتا ہے، اس لیے اسے سٹرنگ یا ٹوپل میں تبدیل کرنے کی ضرورت ہے۔
چھانٹنا تار
جب کسی سٹرنگ کو sorted() فنکشن کی دلیل کے طور پر بیان کیا جاتا ہے، تو ایک فہرست لوٹائی جاتی ہے جس میں ترتیب شدہ سٹرنگ کا ہر کردار ایک عنصر کے طور پر محفوظ ہوتا ہے۔
org_str = 'cebad'
new_str_list = sorted(org_str)
print(org_str)
print(new_str_list)
# cebad
# ['a', 'b', 'c', 'd', 'e']
سٹرنگز کی فہرست کو ایک سٹرنگ میں جوڑنے کے لیے، join() طریقہ استعمال کریں۔
new_str = ''.join(new_str_list)
print(new_str)
# abcde
اگر آپ نزولی ترتیب میں ترتیب دینا چاہتے ہیں، تو دلیل کو الٹ درست پر سیٹ کریں۔
new_str = ''.join(sorted(org_str))
print(new_str)
# abcde
new_str_reverse = ''.join(sorted(org_str, reverse=True))
print(new_str_reverse)
# edcba
سٹرنگ کے سائز کا تعین کریکٹر کے یونیکوڈ کوڈ پوائنٹ (کریکٹر کوڈ) سے ہوتا ہے۔
ٹیپلز چھانٹ رہا ہے۔
Tuples تار کے طور پر ایک ہی ہیں؛ sorted() فنکشن کی دلیل کے طور پر ایک tuple کی وضاحت عناصر کی ایک ترتیب شدہ فہرست لوٹاتی ہے۔
org_tuple = (3, 1, 4, 5, 2)
new_tuple_list = sorted(org_tuple)
print(org_tuple)
print(new_tuple_list)
# (3, 1, 4, 5, 2)
# [1, 2, 3, 4, 5]
فہرست کو ٹوپل میں تبدیل کرنے کے لیے، tuple() کا استعمال کریں۔
new_tuple = tuple(new_tuple_list)
print(new_tuple)
# (1, 2, 3, 4, 5)
اگر آپ نزولی ترتیب میں ترتیب دینا چاہتے ہیں، تو دلیل کو الٹ درست پر سیٹ کریں۔
new_tuple = tuple(sorted(new_tuple_list))
print(new_tuple)
# (1, 2, 3, 4, 5)
new_tuple_reverse = tuple(sorted(new_tuple_list, reverse=True))
print(new_tuple_reverse)
# (5, 4, 3, 2, 1)


