কম্পিউটার

পাইথনের ভিতরে একটি সংখ্যা সহ একটি স্ট্রিং কীভাবে সঠিকভাবে সাজানো যায়?


এই ধরণের সাজানোর মধ্যে আপনি স্ট্রিংয়ের মধ্যে সংখ্যার ভিত্তিতে সাজাতে চান তাকে প্রাকৃতিক সাজানো বা মানব সাজানো বলে। উদাহরণস্বরূপ, যদি আপনার কাছে পাঠ্য থাকে:

['Hello1','Hello12', 'Hello29', 'Hello2', 'Hello17', 'Hello25']

তারপরে আপনি সাজানো তালিকাটি হতে চান:

['Hello1', 'Hello2','Hello12', 'Hello17', 'Hello25', 'Hello29']

এবং না:

['Hello1','Hello12', 'Hello17', 'Hello2', 'Hello25', 'Hello29']

এটি করার জন্য আমরা অতিরিক্ত প্যারামিটার ব্যবহার করতে পারি যা sort() ব্যবহার করে। এটি একটি ফাংশন যা তালিকার এন্ট্রি থেকে কী গণনা করতে বলা হয়। আমরা স্ট্রিং থেকে সংখ্যা বের করতে এবং টেক্সট এবং সংখ্যা উভয়েই সাজানোর জন্য regex ব্যবহার করি।

 import re
 def atoi(text):
    return int(text) if text.isdigit() elsetext
def natural_keys(text):
    return [ atoi(c) for c in re.split('(\d+)',text) ]
 my_list =['Hello1', 'Hello12', 'Hello29', 'Hello2', 'Hello17', 'Hello25']
 my_list.sort(key=natural_keys)
print my_list

এটি আপনাকে আউটপুট দেবে:

['Hello1', 'Hello2','Hello12', 'Hello17', 'Hello25', 'Hello29']

  1. পাওয়ারপয়েন্ট ফরম্যাট পেইন্টার দিয়ে কীভাবে পাঠ্য ফর্ম্যাট করবেন

  2. অ্যান্ড্রয়েড স্কিলাইটে স্ট্রিং নম্বর কীভাবে সাজানো যায়?

  3. পাইথনের সাথে একাধিক ডকুমেন্ট ফরম্যাটে (CSV, Text, MS Word) একটি স্ট্রিং কীভাবে স্ক্যান করবেন?

  4. পাইথনে মার্জ সর্ট কলের k নম্বর সহ অ্যারে খুঁজুন