অনেক সময় আমাদের একটি তালিকার উপাদানগুলিকে অনন্যভাবে সনাক্ত করতে হবে। এর জন্য আমাদের তালিকার প্রতিটি উপাদানের জন্য অনন্য আইডি বরাদ্দ করতে হবে। পাইথনে উপলব্ধ বিভিন্ন ইনবিল্ট ফাংশন ব্যবহার করে নিম্নলিখিত দুটি পদ্ধতির মাধ্যমে এটি অর্জন করা যেতে পারে।
গণনা এবং সেট সহ
গণনা ফাংশন প্রতিটি উপাদানের জন্য অনন্য আইডি বরাদ্দ করে। কিন্তু যদি তালিকাটি ইতিমধ্যেই সদৃশ উপাদান হিসাবে থাকে তবে আমাদের কী মান জোড়ার একটি অভিধান তৈরি করতে হবে তালিকা তৈরি করতে হবে এবং সেট ফাংশন ব্যবহার করে অনন্য মান নির্ধারণ করতে হবে।
উদাহরণ
# Given List Alist = [5,3,3,12] print("The given list : ",Alist) # Assigning ids to values enum_dict = {v: k for k, v in enumerate(set(Alist))} list_ids = [enum_dict[n] for n in Alist] # Print ids of the dictionary print("The list of unique ids is: ",list_ids)
আউটপুট
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
The given list : [5, 3, 3, 12] The list of unique ids is: [2, 0, 0, 1]
গণনা() এবং মানচিত্র() সহ
ম্যাপ() ফাংশনটি একই ফাংশনটি বারবার এটিতে পাস করা বিভিন্ন প্যারামিটারে প্রয়োগ করে। কিন্তু গণনা পদ্ধতি নির্দিষ্ট মান সহ উপাদানের সংখ্যা প্রদান করে। তাই আমরা এই দুটিকে একত্রিত করে নিচের প্রোগ্রামে প্রদত্ত তালিকার উপাদানগুলির জন্য অনন্য আইডিগুলির তালিকা পাই৷
উদাহরণ
from itertools import count # Given List Alist = [5,3,3,12] print("The given list : ",Alist) # Assign unique value to list elements dict_ids = list(map({}.setdefault, Alist, count())) # The result print("The list of unique ids is: ",dict_ids)
আউটপুট
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
The given list : [5, 3, 3, 12] The list of unique ids is: [0, 1, 1, 3]