অভিধানের সাথে কাজ করার সময়, আমরা এমন পরিস্থিতির সম্মুখীন হতে পারি যখন অভিধানে ডুপ্লিকেট মান থাকে এবং স্পষ্টতই কীগুলি অনন্য থাকে। এই নিবন্ধে আমরা দেখব কিভাবে আমরা থি অর্জন করতে পারি।
কী এবং মান বিনিময়
আমরা অভিধানের মানগুলির সাথে কীগুলি বিনিময় করি এবং তারপরে একটি প্রদত্ত কী-এর সাথে যুক্ত মানগুলি যুক্ত করতে থাকি। এইভাবে ডুপ্লিকেট মানগুলি একত্রিত হয়ে যায় এবং আমরা সেগুলিকে নতুন অভিধানে দেখতে পারি৷
উদাহরণ
dictA = {'Sun': 5, 'Mon': 3, 'Tue': 5, 'Wed': 3} print("Given Dictionary :", dictA) k_v_exchanged = {} for key, value in dictA.items(): if value not in k_v_exchanged: k_v_exchanged[value] = [key] else: k_v_exchanged[value].append(key) # Result print("New Dictionary:", k_v_exchanged)
আউটপুট
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
Given Dictionary : {'Sun': 5, 'Mon': 3, 'Tue': 5, 'Wed': 3} New Dictionary: {5: ['Sun', 'Tue'], 3: ['Mon', 'Wed']}
সেট সহ
আমরা এখানে একটি অনুরূপ পদ্ধতি অনুসরণ. এখানেও আমরা সেট ফাংশন ব্যবহার করে বিদ্যমান অভিধান থেকে একটি নতুন অভিধান তৈরি করি এবং ডুপ্লিকেট মান সহ কী যোগ করি। অবশেষে আমরা সেই মানগুলিকে ফিল্টার করি যেখানে দৈর্ঘ্য 1-এর বেশি হয় এবং সেগুলিকে সদৃশ হিসাবে চিহ্নিত করি৷
উদাহরণ
dictA = {'Sun': 5, 'Mon': 3, 'Tue': 5, 'Wed': 4} print("Given Dictionary :", dictA) dictB = {} for key, value in dictA.items(): dictB.setdefault(value, set()).add(key) res = filter(lambda x: len(x) >1, dictB.values()) # Result print("New Dictionary:",list(res))
আউটপুট
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
Given Dictionary : {'Sun': 5, 'Mon': 3, 'Tue': 5, 'Wed': 4} New Dictionary: [{'Tue', 'Sun'}]