সমাধান করা হয়েছে: তালিকা পাইথনে সদৃশ নাম পরিবর্তন করুন

একটি তালিকায় সদৃশগুলি পুনঃনামকরণ করা একটি কঠিন সমস্যা সমাধান করতে পারে কারণ এটির জন্য আপনাকে সদৃশগুলি সনাক্ত করতে হবে এবং তারপরে কীভাবে তাদের নাম পরিবর্তন করতে হবে তা নির্ধারণ করতে হবে৷ এটি বিশেষত চ্যালেঞ্জিং হতে পারে যদি তালিকায় অনেক উপাদান থাকে বা উপাদানগুলি জটিল বস্তু হয়। উপরন্তু, সদৃশ পুনঃনামকরণের জন্য আপনাকে আপনার কোডের অন্যান্য অংশগুলিকে সংশোধন করতে হতে পারে যা উপাদানগুলির আসল নামের উপর নির্ভর করে যাতে সেগুলি সঠিকভাবে কাজ করা চালিয়ে যেতে পারে৷

def rename_duplicates(lst): 
    seen = set() 
    new_lst = [] 

    for item in lst: 
        if item not in seen: 
            seen.add(item) 
            new_lst.append(item) 
        else: 
            new_item = item + '_1'   # append a suffix to make it unique  

            while new_item in seen:   # increment the suffix until it's unique  
                suffix = int(new_item.split('_')[-1]) + 1   # get the last number and add one to it  
                new_item = '{}_{}'.format('_'.join(new_item.split('_')[:-1]), suffix)

            seen.add(new_item)     # add the newly created item to the set of seen items  
            new_lst.append(new_item)     # append the newly created item to the list

    return new

_lst

# এই কোডটি rename_duplicates নামক একটি ফাংশনকে সংজ্ঞায়িত করে যা একটি যুক্তি হিসাবে একটি তালিকায় নেয়।
def rename_duplicates(lst):

# এটি তারপর দেখা নামে একটি খালি সেট তৈরি করে এবং new_lst নামে একটি খালি তালিকা তৈরি করে।
দেখা = সেট()
new_lst = []

# এটি তারপর তালিকার আইটেমগুলির মাধ্যমে পুনরাবৃত্তি করে এবং তারা ইতিমধ্যে দেখা আইটেমগুলির সেটে আছে কিনা তা পরীক্ষা করে।
lst আইটেমের জন্য:
যদি আইটেমটি দেখা না হয়: # যদি এটি না থাকে তবে এটি এটিকে দেখা আইটেমগুলির সেটে যুক্ত করে এবং এটিকে নতুন তালিকায় যুক্ত করে।
দেখা. যোগ করুন(আইটেম)
new_lst.append(item) # যদি এটি হয়, এটি নামের সাথে একটি প্রত্যয় (যেমন, '_1') যোগ করে আইটেমের একটি অনন্য সংস্করণ তৈরি করে এবং এই নতুন তৈরি আইটেমটি ইতিমধ্যে দেখা আইটেমগুলির সেটে আছে কিনা তা পরীক্ষা করে।

অন্য: # যদি তাই হয়, এটি প্রত্যয় বৃদ্ধি করে যতক্ষণ না এটি সেই আইটেমের নামের একটি অব্যবহৃত সংস্করণ খুঁজে পায় এবং এই নতুন তৈরি করা আইটেমটিকে দেখা আইটেমগুলির সেট এবং নতুন তালিকাতে যোগ করে তার সম্পাদনের শেষে এই নতুন তালিকাটি ফেরত দেওয়ার আগে।

new_item = আইটেম + '_1'

যখন নতুন_আইটেম দেখা যাচ্ছে: অনন্য হওয়া পর্যন্ত # ইনক্রিমেন্ট প্রত্যয়

প্রত্যয় = int(new_item.split('_')[-1]) + 1 # শেষ নম্বর পান এবং এটিতে একটি যোগ করুন

new_item = '{}_{}'.format('_'.join(new_item.split('_')[:-1]), প্রত্যয়)

দেখা. যোগ করুন (নতুন

পাইথনে তালিকা

পাইথনের তালিকাগুলি সবচেয়ে বেশি ব্যবহৃত ডেটা স্ট্রাকচারগুলির মধ্যে একটি। এগুলি আইটেমগুলির একটি সংগ্রহ সংরক্ষণ করতে ব্যবহৃত হয়, যা অন্যান্য তালিকা সহ যে কোনও ধরণের হতে পারে। তালিকাগুলি পরিবর্তনযোগ্য, যার অর্থ সেগুলি তৈরি হওয়ার পরে পরিবর্তন করা যেতে পারে। তারা ইন্ডেক্সিং, স্লাইসিং এবং কনক্যাটেনেশনের মতো ক্রিয়াকলাপগুলিকে সমর্থন করে।

পাইথনে একটি তালিকা তৈরি করতে, আপনি বর্গাকার বন্ধনী ব্যবহার করুন এবং প্রতিটি আইটেমকে একটি কমা দিয়ে আলাদা করুন:

আমার_তালিকা = [১, ২, ৩]

আপনি তাদের সূচক ব্যবহার করে তালিকায় পৃথক উপাদান অ্যাক্সেস করতে পারেন:
my_list[0] # রিটার্ন ১
my_list[1] # রিটার্ন ১
my_list[2] # রিটার্ন ১

তালিকার শেষ থেকে উপাদানগুলি অ্যাক্সেস করতে আপনি নেতিবাচক সূচকগুলিও ব্যবহার করতে পারেন:

my_list[-1] # রিটার্ন 3 (শেষ উপাদান)

আপনি append() পদ্ধতি ব্যবহার করে একটি তালিকায় আইটেম যোগ করতে পারেন:

my_list.append(4) # তালিকার শেষে 4 যোগ করে

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

my_list.remove(3) # তালিকা থেকে 3টি সরিয়ে দেয়

my_list.pop(2) # তালিকা থেকে 2 (তৃতীয় উপাদান) সরিয়ে দেয় এবং ফেরত দেয়

পাইথনে তালিকার সদৃশ নাম পরিবর্তন করুন

পাইথনে তালিকার সদৃশগুলি পুনঃনামকরণ করা একটি সাধারণ কাজ যখন তালিকাগুলির সাথে কাজ করে। এটি অনন্য মান সহ একটি তালিকায় সদৃশ উপাদান প্রতিস্থাপন জড়িত। এটি সেট() ফাংশন ব্যবহার করে করা যেতে পারে, যা একটি তালিকা থেকে সমস্ত ডুপ্লিকেট উপাদানগুলিকে সরিয়ে দেয় এবং শুধুমাত্র অনন্য উপাদানগুলির সাথে একটি নতুন তালিকা প্রদান করে। সেট() ফাংশনটি নতুন মানের সাথে পুরানো মানগুলির ম্যাপিং দিয়ে সদৃশ নাম পরিবর্তন করতেও ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ, আপনার যদি সংখ্যার একটি তালিকা থাকে এবং সমস্ত সদৃশগুলিকে তাদের নিজ নিজ বর্গক্ষেত্র দিয়ে প্রতিস্থাপন করতে চান, আপনি নিম্নলিখিত কোডটি ব্যবহার করতে পারেন:

# একটি খালি অভিধান তৈরি করুন
ম্যাপিং = {}

# মূল তালিকার উপর পুনরাবৃত্তি করুন
আমার_তালিকায় আইটেমের জন্য:
# আইটেমটি ইতিমধ্যে অভিধানে বিদ্যমান কিনা তা পরীক্ষা করুন
আইটেম ম্যাপিং না হলে:
# যদি না হয় তবে এটি অভিধানে যোগ করুন এবং মান হিসাবে এর বর্গ নির্ধারণ করুন
ম্যাপিং[আইটেম] = আইটেম * আইটেম

# একটি খালি ফলাফল তালিকা তৈরি করুন
ফলাফল_তালিকা = []

# মূল তালিকার উপর আবার পুনরাবৃত্তি করুন এবং প্রতিটি উপাদানকে তার বর্গক্ষেত্র দিয়ে প্রতিস্থাপন করুন my_list এর i এর জন্য: result_list.append(ম্যাপিং[i])

# প্রিন্ট ফলাফল মুদ্রণ (ফলাফল_তালিকা)

সম্পর্কিত পোস্ট:

মতামত দিন