আমি অবাক হয়েছি যে এই নির্দিষ্ট প্রশ্ন এর আগে জিজ্ঞাসা করা হয়নি, তবে আমি সত্যিই এটি এসও তে খুঁজে পাইনি বা এর ডকুমেন্টেশনেও পাইনি np.sort
।
বলুন আমার কাছে একটি এলোমেলো নাম্পার অ্যারে হোল্ডিং পূর্ণসংখ্যা রয়েছে, যেমন:
> temp = np.random.randint(1,10, 10)
> temp
array([2, 4, 7, 4, 2, 2, 7, 6, 4, 4])
যদি আমি এটি বাছাই করি, আমি ডিফল্টরূপে আরোহী ক্রম পাই:
> np.sort(temp)
array([2, 2, 2, 4, 4, 4, 4, 6, 7, 7])
তবে আমি চাই সমাধানটি সাজানো ক্রমে সাজানো হোক ।
এখন, আমি জানি আমি সবসময় করতে পারি:
reverse_order = np.sort(temp)[::-1]
কিন্তু এই শেষ বিবৃতি কার্যকর ? এটি কি আরোহণের ক্রমে একটি অনুলিপি তৈরি করে না, এবং তারপরে বিপরীত ক্রমে ফলাফল পেতে এই অনুলিপিটি বিপরীত করে? যদি সত্যই এটি হয়, একটি কার্যকর বিকল্প আছে? দেখে মনে হচ্ছে না np.sort
বিপরীত ক্রমে জিনিসগুলি সাজানোর ক্রিয়াকলাপের তুলনাগুলির চিহ্নটি পরিবর্তনের জন্য পরামিতিগুলি গ্রহণ করে।
temp[::-1].sort()
জানতে পারে যে এটির বিপরীত ক্রম অনুসারে বাছাই করতে হবে ?? আমি এটি যেভাবে পড়েছি তা হ'ল: মূল অ্যারেটি বিপরীত করুন এবং তারপরে এটি সাজান (ক্রমবর্ধমান ক্রমে)। আসল অ্যারেটি কেন বিপর্যয় করা হবে (এলোমেলো ক্রমে আসছে) এবং তারপরে ক্রমবর্ধমান ক্রম অনুসারে বাছাই করলে অ্যারেটিকে বিপরীত ক্রমে ফিরিয়ে দেওয়া হবে?