পাইথনে একটি তালিকা সাজানো: সাজানো এবং সাজানোর মধ্যে পার্থক্য

ব্যবসায়

পাইথনে ঊর্ধ্বমুখী বা অবরোহী ক্রমে একটি তালিকা সাজানোর দুটি উপায় রয়েছে।

  • sort()
  • sorted()

আপনি যদি একটি স্ট্রিং বা টিপল সাজাতে চান তবে sorted() ব্যবহার করুন।

নিম্নলিখিত তথ্য এখানে প্রদান করা হয়.

  • টাইপ তালিকার একটি পদ্ধতি যা মূল তালিকাকে সাজায়sort()
  • একটি নতুন সাজানো তালিকা তৈরি করুন, অন্তর্নির্মিত ফাংশন: .sorted()
  • কিভাবে স্ট্রিং এবং tuples বাছাই

মূল তালিকা বাছাই, টাইপ তালিকার একটি পদ্ধতি: 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]

কিভাবে স্ট্রিং এবং tuples বাছাই

যেহেতু স্ট্রিং এবং টিপল অপরিবর্তনীয়, তাই মূল অবজেক্টটি পুনর্লিখন করার জন্য কোন 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

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)