অনেক সময় আমাদের লিস্টের উপাদানগুলোকে ইউনিকভাবে চিহ্নিত করার প্রয়োজন পড়ে। তার জন্য লিস্টের প্রতিটি উপাদানে ইউনিক আইডি দিতে হয়। এটি পাইথনের বিভিন্ন ইনবিল্ট ফাংশন ব্যবহার করে দুটি পদ্ধতিতে করা যায়।
enumerate এবং set ব্যবহার করে
enumerate ফাংশন প্রতিটি উপাদানকে ইউনিক আইডি দেয়। কিন্তু যদি লিস্টে ডুপ্লিকেট উপাদান থাকে তবে আমাদের লিস্ট থেকে কী-ভ্যালু পেয়ার এর একটি ডিকশনারি তৈরি করতে হয় এবং set ফাংশন ব্যবহার করে ইউনিক মান দিতে হয়।
উদাহরণ
Alist = [5,3,3,12]
print("The given list : ",Alist)
enum_dict = {v: k for k, v in enumerate(set(Alist))}
list_ids = [enum_dict[n] for n in Alist]
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]
count() এবং map() ব্যবহার করে
map() ফাংশন একই ফাংশনকে বারবার ভিন্ন প্যারামিটারে প্রয়োগ করে। কিন্তু count মেথড নির্দিষ্ট ভ্যালুর উপাদান সংখ্যা রিটার্ন করে। তাই আমরা এই দুটো একসাথে ব্যবহার করে দिये गये লিস্টের উপাদানগুলোর ইউনিক আইডির লিস্ট পেতে পারি।
উদাহরণ
from itertools import count
Alist = [5,3,3,12]
print("The given list : ",Alist)
dict_ids = list(map({}.setdefault, Alist, count()))
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]