কম্পিউটার

একটি পাইথন তালিকার প্রতিটি অনন্য মানের জন্য আইডি বরাদ্দ করুন


পাইথন অভিধান ব্যবহার করার সময় আমাদের অভিধানের প্রতিটি উপাদানকে স্বতন্ত্রভাবে সনাক্ত করতে হতে পারে। এর জন্য আমাদের অভিধানের প্রতিটি উপাদানের জন্য অনন্য আইডি বরাদ্দ করতে হবে। এই নিবন্ধে আমরা দেখতে পাব কিভাবে একই অনন্য আইডি একটি উপাদানের জন্য বরাদ্দ করা যায় যদি এটি একটি পাইথন অভিধানে পুনরাবৃত্তি হয়।

enumerate() এবং OrderedDict.fromkeys() সহ

গণনা ফাংশন অভিধানের প্রতিটি উপাদানে একটি কাউন্টার যোগ করে একটি প্রদত্ত অভিধানকে প্রসারিত করে। তারপরে আমরা OrderedDict.fromkeys() প্রয়োগ করি যা অভিধান থেকে কাউন্টারের একই মান বের করবে তাই আইডিগুলির ডুপ্লিকেট মানগুলি বাদ দেবে৷

উদাহরণ

from collections import OrderedDict

Alist = ['Mon','Tue','Wed','Mon',5,3,3]
print("The given list : ",Alist)

# Assigning ids to values
list_ids = [{v: k for k, v in enumerate(
   OrderedDict.fromkeys(Alist))}
      [n] for n in Alist]

# The result
print("The list of ids : ",list_ids)

আউটপুট

উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -

The given list : ['Mon', 'Tue', 'Wed', 'Mon', 5, 3, 3]
The list of ids : [0, 1, 2, 0, 3, 4, 4]

সংগ্রহ থেকে OrderedDict ব্যবহার করা

এই পদ্ধতিতে আমরা ডিফল্টডিক্ট ফাংশন ব্যবহার করি যা শুধুমাত্র নতুন উপাদানগুলিতে একটি নতুন কী বরাদ্দ করবে। তারপরে আমরা ল্যাম্বডা ফাংশন ব্যবহার করি অনন্য আইডির নতুন তালিকা লুপ করতে।

উদাহরণ

from collections import defaultdict
# Given List
Alist = ['Mon','Tue','Wed','Mon',5,3,3]
print("The given list : ",Alist)

# Assigning ids to values
d_dict = defaultdict(lambda: len(d_dict))
list_ids= [d_dict[n] for n in Alist]
# Print ids of the dictionary
print("The list of ids : ", list_ids)

আউটপুট

উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -

The given list : ['Mon', 'Tue', 'Wed', 'Mon', 5, 3, 3]
The list of ids : [0, 1, 2, 0, 3, 4, 4]

  1. পাইথনে মান হিসাবে সূচক সহ অভিধান

  2. Python - অভিধান মান হিসাবে তালিকা সাফ করা হচ্ছে

  3. পূর্ণসংখ্যার একটি পাইথন তালিকার প্রতিটি উপাদানে K যোগ করা হচ্ছে

  4. পাইথনে সাবলিস্টে মান যোগ করা হচ্ছে