পাইথনে প্রায় যে কোনও ধরণের তালিকা বাছাই কিভাবে

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

এটি করার জন্য কোডের দীর্ঘ ব্লকগুলি লেখার পরিবর্তে পাইথনের একটি অন্তর্নির্মিত পদ্ধতি রয়েছে যা আপনাকে কোনও তালিকা বা অ্যারেতে আইটেমগুলি বাছাই করতে দেয়। আমরা কীভাবে এটি পোস্ট করব তা ব্যাখ্যা করব।

পাইথনে একটি তালিকা বাছাই কিভাবে

আপনি পাইথন বাছাই () পদ্ধতিটি ব্যবহার করে একটি তালিকা বা অ্যারেতে আইটেমগুলি বাছাই করতে পারেন।

পাইথনে বাছাই () পদ্ধতিটি দুটি alচ্ছিক আর্গুমেন্ট গ্রহণ করে এবং সিনট্যাক্সটি এর মতো দেখায়:

 list.sort(key = function, reverse = True/False)

ডিফল্টরূপে, বাছাই () পদ্ধতিটি একটি তালিকাটির আইটেমগুলি আরোহণের ক্রমে সাজিয়ে তোলে:

 myList = ["C", "D", "B", "A", "F"]
myList.sort()
print(myList)
Output: ['A', 'B', 'C', 'D', 'F']

উত্থাপিত ক্রমে তালিকাটি দেখতে আপনি বিপরীত যুক্তিটি ব্যবহার করতে পারেন:

 myList = ["C", "D", "B", "A", "F"]
myList.sort(reverse = True)
print(myList)
Output: ['F', 'D', 'C', 'B', 'A']

আপনি প্রতিটি স্ট্রিংয়ের দৈর্ঘ্য দ্বারা তালিকাগুলিতে আইটেমগুলিও সাজিয়ে রাখতে পারেন।

এটি করতে, একটি ফাংশন তৈরি করুন এবং এটি বাছাই করুন () পদ্ধতিতে key চ্ছিক কী যুক্তি ব্যবহার করে:

 myList = ["MUO", "Python", "JavaScript", "Sort", "Sortlists"]
def sortLength(item):
return len(item)
myList.sort(reverse = True, key = sortLength)
print(myList)
Output: ['JavaScript', 'Sortlists', 'Python', 'Sort', 'MUO']

পাইথনে অভিধানের একটি তালিকা বাছাই কিভাবে

আপনি অভিধানের তালিকাকেও সাজানোর জন্য বাছাই () পদ্ধতিটি ব্যবহার করতে পারেন।

নীচের অভিধানে কার্যগুলি তাদের সময় অনুসারে বাছাই করুন:

 myArray = [
{"Task": "Wash", "Time": 12.00},
{"Task":"Football", "Time": 24.00},
{"Task":"Sort", "Time": 17.00},
{"Task":"Code", "Time": 15.00}
]
def sortByTime(item):
return item["Time"]
myArray.sort(key = sortByTime)
print(myArray)

যেহেতু সময়ের মানগুলি পূর্ণসংখ্যা হয় তাই উপরের কোডের ব্লকটি কার্য সময়ের উপর ভিত্তি করে অ্যারেটিকে পুনরায় সাজায়।

সম্পর্কিত: পাইথনে অ্যারে এবং তালিকা কীভাবে কাজ করে

উপরে সময় অনুযায়ী অ্যারে বাছাই করা ছাড়াও, আপনি এটিকে স্ট্রিংগুলি ব্যবহার করে বর্ণানুক্রমিকভাবেও সাজিয়ে রাখতে পারেন।

উদাহরণস্বরূপ অ্যারের মধ্যে স্ট্রিং এটি অনুসারে বাছাইয়ের জন্য, আপনি শুধুমাত্র কার্য থেকে বর্গাকার বন্ধনী মধ্যে সময় পরিবর্তন করা প্রয়োজন:

 myArray = [
{"Task": "Wash", "Time": 12.00},
{"Task":"Football", "Time": 24.00},
{"Task":"Sort", "Time": 17.00},
{"Task":"Code", "Time": 15.00}
]
def sortByTime(item):
return item["Task"]
myArray.sort(key = sortByTime)
print(myArray)

আপনি সত্যগুলিতে বিপরীত সেট করে বিপরীত ক্রমেও কার্যগুলি বাছাই করতে পারেন:

 myArray.sort(key = sortByTime, reverse = True)

আপনি ক্লিনার কোডের জন্য বাছাই () সহ ল্যাম্বদা ফাংশনটিও ব্যবহার করতে পারেন:

 myArray.sort(key = lambda getTime: getTime["Time"])
print(myArray)

নেস্টেড পাইথন তালিকাটি কীভাবে বাছাই করবেন

আপনি সেই তালিকায় প্রতিটি নেস্টেড উপাদানগুলির সূচী অনুসারে টিপলসের নেস্টেড তালিকাটিকে বাছাই করতে পারেন।

উদাহরণস্বরূপ, নীচের কোডটি প্রতিটি টুপলে তৃতীয় আইটেমটি ব্যবহার করে তালিকাটিকে আরোহণের ক্রমে সাজানোর জন্য ব্যবহার করে:

 Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
def sortByThirdIndex(a):
return a[2]
Alist.sort(key = sortByThirdIndex)
print(Alist)
Output: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

উপরের আউটপুটে, প্রতিটি দ্বিখণ্ডের তৃতীয় আইটেমটি একটানা শূন্য থেকে বিশ পর্যন্ত বৃদ্ধি পায়।

নোট করুন যে এটি পাইথন সেট নিয়ে কাজ করে না কারণ আপনি এটি সূচী করতে পারবেন না। তার উপরে, তালিকার প্রতিটি নীড় একই ডেটা ধরণের হতে হবে।

সম্পর্কিত: পাইথনে একটি সেট কী এবং কীভাবে একটি তৈরি করবেন

তবে আউটপুটটিকে অবতরণ ক্রমে সাজানোর জন্য:

 Alist.sort(key = getIndex, reverse = True)
print(Alist)
Output: [(3, 19, 20), (1, 8, 15), (10, 19, 4), (7, 9, 3), (2, 6, 0)]

আসুন দেখুন ল্যাম্বদা ফাংশনের সাথে এটি কীভাবে দেখায়:

 Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
newList = sorted(Alist, key = lambda a: a[2])
print(newList)
Output: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

সাজানো () পদ্ধতিটি ব্যবহার করে কীভাবে একটি তালিকা বাছাই করবেন

বিকল্পভাবে, আপনি বাছাই করা () পদ্ধতিটি ব্যবহার করতে পারেন।

যদিও এটি বাছাই () পদ্ধতির সাথে একইভাবে কাজ করে, এটি আসলটি পরিবর্তন না করেই একটি নতুন বাছাই করা তালিকা তৈরি করে। এর সিনট্যাক্স লেআউটটিও কিছুটা আলাদা।

বাছাই করা () পদ্ধতির জন্য সিনট্যাক্সটি সাধারণত:

 sorted(list, key = function, reverse = True/False)

সুতরাং বাছাই করা () পদ্ধতিটি ব্যবহার করে একটি তালিকা সাজানোর জন্য, আপনি বাছাই করা তালিকার জন্য একটি নতুন ভেরিয়েবল তৈরি করতে হবে:

 Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
def getIndex(a):
return a[2]
newList = sorted(Alist, key = getIndex)
print(newList)
Output: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

বাছাই করা () পদ্ধতিটি ল্যাম্বডা ফাংশনটিকে এর কী হিসাবে গ্রহণ করে:

 Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
newList = sorted(Alist, key = lambda a: a[2])
print(newList)
Output: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

কোথায় আপনি তালিকা বাছাই আবেদন করতে পারেন?

দক্ষ প্রোগ্রামিংয়ের জন্য পাইথন সাজানোর পদ্ধতির একটি শক্ত উপলব্ধি প্রয়োজন। এটি আপনাকে তালিকা বা অ্যারে কীভাবে আসে তা নিয়ন্ত্রণ করতে দেয় এবং আপনি এটি সর্বদা বাস্তব জীবনের প্রকল্পগুলিতে প্রয়োগ করতে পারেন। উদাহরণস্বরূপ, কোনও এপিআই বা ডেটাবেস থেকে ডেটা পুনরায় সাজানোর সময় পাইথন তালিকার বাছাই কার্যকর হতে পারে, সুতরাং এটি কোনও শেষ ব্যবহারকারীকে আরও বোঝায়।