আপনি যখন পাস lambdaকরেন sort, আপনাকে কোনও বুলিয়ান নয়, পূর্ণসংখ্যা ফেরত দেওয়া দরকার। সুতরাং আপনার কোড পরিবর্তে নিম্নলিখিত হিসাবে পড়া উচিত:
xs.sort(lambda x,y: cmp(len(x), len(y)))
নোট করুন যে সিএমপি একটি অন্তর্নির্মিত ফাংশন যেমন cmp(x, y)-1 এর xচেয়ে কম হলে y0 , xসমান হলে 0 yএবং এর xচেয়ে বড় হলে 1 প্রদান করে y।
অবশ্যই, আপনি পরিবর্তে keyপ্যারামিটার ব্যবহার করতে পারেন :
xs.sort(key=lambda s: len(s))
এটি sortকী ফাংশনটি যা কিছু দেয় তার ভিত্তিতে অর্ডার করার পদ্ধতিটি বলে ।
সম্পাদনা: নীচে বাল্ফা এবং রুসালানকে ধন্যবাদ জানাতে যে আপনি কেবলমাত্র lenফাংশনের মূল পরামিতি হিসাবে সরাসরি পাস করতে পারবেন , এইভাবে একটির প্রয়োজনীয়তা দূর করে lambda:
xs.sort(key=len)
এবং রুসলান নীচে উল্লেখ করেছেন, আপনি পদ্ধতির পরিবর্তে বিল্ট-ইন বাছাই করা ফাংশনটিও ব্যবহার করতে পারেন list.sort, যা বিদ্যমান জায়গায় বাছাইয়ের পরিবর্তে একটি নতুন তালিকা তৈরি করে:
print(sorted(xs, key=len))
lambda; শুধু ব্যবহার করুনkey = len