এসোসিয়েটিভ অ্যারের ব্যবহার

Python:
এসোসিয়েটিভ অ্যারের ব্যবহার

কিভাবে:

পাইথনে একটি ডিকশনারি তৈরি করা সোজা। আপনি কী-মানের জোড়গুলি কোষ্ঠক {} এ উল্লিখিত করেন, এবং চাবি এবং মানগুলি কোলনের দ্বারা পৃথক থাকে:

# একটি associative array (dictionary) তৈরি করা
my_dict = {"name": "John", "age": 30, "city": "New York"}
print(my_dict)

আউটপুট:

{'name': 'John', 'age': 30, 'city': 'New York'}

একটি চাবি দ্বারা মান অ্যাক্সেস করা সহজ:

# একটি মান অ্যাক্সেস করা
print(my_dict["name"])

আউটপুট:

John

উপাদান যোগ বা আপডেট করা একটি চাবি একটি মান বরাদ্দ করে করা হয়:

# একটি নতুন কী-মানের জোড় যোগ
my_dict["email"] = "[email protected]"
# একটি মান আপডেট করা
my_dict["age"] = 31
print(my_dict)

আউটপুট:

{'name': 'John', 'age': 31, 'city': 'New York', 'email': '[email protected]'}

ডিকশনারি আইটেমগুলির উপর ইটারেট করা:

# কী-মানের জোড়ের মধ্যে ইটারেট করা
for key, value in my_dict.items():
    print(f"{key}: {value}")

আউটপুট:

name: John
age: 31
city: New York
email: [email protected]

গভীর ডাইভ

পাইথনে associative arrays বা dictionaries, দক্ষ ডাটা প্রবেশ এবং ম্যানিপুলেশনের জন্য একটি ডাটা কাঠামো হিসেবে পরিচিতি পেয়েছে। ধারাবাহিকতার বিপরীতে, যা একটি সংখ্যার সীমানা দ্বারা সূচিকৃত, ডিকশনারি চাবিগুলি দ্বারা সূচিকৃত, যা যেকোনো অপরিবর্তনীয় টাইপ হতে পারে। এই নকশা পছন্দটি চাবিগুলি অনন্য মানগুলিতে ম্যাপ করা দ্রুত লুকআপ টেবিলের জন্য ডিকশনারিকে আদর্শ করে তোলে।

ঐতিহাসিকভাবে, পাইথন ডিকশনারি একটি হ্যাশ টেবিল ব্যবহার করে বাস্তবায়িত হয়েছে, যা নির্দেশ করে যে লুকআপ, ইনসার্ট, এবং মুছে ফেলার ক্রিয়াকলাপের গড় সময়ের জটিলতা O(1)। পাইথন 3.6 এবং পরবর্তী সংস্করণে, ডিকশনারি আইটেমগুলির ইনসার্টের অর্ডারও বজায় রাখে, হ্যাশ টেবিলের সুবিধাগুলির সাথে অর্ডার করা ডাটা কাঠামোগুলিতে দেখা গেছে ইনসারশন অর্ডারের পূর্বানুমানের সমন্বয় করে।

যদিও ডিকশনারি অত্যন্ত বহুমুখী, কিছু বিশেষজ্ঞ ক্ষেত্রে, collections.defaultdict বা collections.OrderedDict (পাইথন 3.7 এর আগে) বেশি প্রাধান্য পেতে পারে। defaultdict বিশেষভাবে উপযোগী যখন আপনি চান একটি ডিকশনারি অ-অস্তিত্বের কীগুলির জন্য একটি ডিফল্ট মান ফেরত দেয়, নির্দিষ্ট ধরনের শর্তাধীন যুক্তি সহজীকরণ করে। তবে, পাইথনের অবিরত উন্নীতি এবং বিবর্তনের সাথে, বিল্ট-ইন ডিকশনারি ক্লাস প্রায়শই associative arrays হিসেবে যাওয়ার জন্য পছন্দসই পছন্দ হিসাবে থাকে এর দৃঢ়তা এবং বক্স থেকে বের করার সুবিধার জন্য।