" সেই ডিকের কোনও প্রদত্ত সূচকটি ইতিমধ্যে অ-নয় মান হিসাবে সেট করা আছে কিনা আমি কীভাবে জানতে পারি", আমি এটিকে পছন্দ করব:
try:
nonNone = my_dict[key] is not None
except KeyError:
nonNone = False
এটি ইএএফপি এর ইতিমধ্যে অনুরোধ করা ধারণার সাথে সামঞ্জস্য করে (ক্ষমা চাওয়ার পরে অনুমতি চেয়ে সহজ)। এটি অভিধানে ডুপ্লিকেট কী অনুসন্ধানটি এড়িয়ে যায় কারণ এটি চেহারা key in my_dict and my_dict[key] is not None
ব্যয়বহুল হলে আকর্ষণীয়।
আপনি যে প্রকৃত সমস্যাটি উত্থাপন করেছেন তার জন্য, যেমন যদি এটি উপস্থিত থাকে তবে কোনও পূর্বে বৃদ্ধি করা বা অন্যথায় এটি একটি ডিফল্ট মান হিসাবে সেট করা হয়, আমিও সুপারিশ করি
my_dict[key] = my_dict.get(key, default) + 1
যেমনটি অ্যান্ড্রু উইলকিনসনের উত্তরে।
আপনি যদি আপনার অভিধানে সংশোধনযোগ্য অবজেক্টগুলি সঞ্চয় করছেন তবে তৃতীয় সমাধান রয়েছে solution এটির জন্য একটি সাধারণ উদাহরণ একটি মাল্টিম্যাপ , যেখানে আপনি আপনার কীগুলির জন্য উপাদানগুলির একটি তালিকা সঞ্চয় করেন। সেক্ষেত্রে, আপনি ব্যবহার করতে পারেন:
my_dict.setdefault(key, []).append(item)
অভিধানে যদি কীটির কোনও মান বিদ্যমান না থাকে তবে সেটডেফল্ট পদ্ধতি সেটডেফল্টের দ্বিতীয় প্যারামিটারে সেট করে। এটি ঠিক একটি স্ট্যান্ডার্ড মাই_ডিক্ট [কী] এর মতো আচরণ করে, কীটির মান (যা নতুন সেট করা মান হতে পারে) ফেরত দেয়।