Python Dictionary Methods

পাইথন শব্দভান্ডার পদ্ধতি শিখুন

পাইথন - শব্দভান্ডার পদ্ধতি

পাইথনে বিল্ট-ইন পদ্ধতির একটি সেট রয়েছে যা অভিধানের সাথে ব্যবহার করা যেতে পারে।

শব্দভান্ডার পদ্ধতি

পদ্ধতি ব্যাখ্যা উদাহরণ
clear() অভিধান থেকে সমস্ত আইটেম সরিয়ে দেয় dict.clear()
copy() শব্দকোষের একটি অনুলিপি প্রদান করে new_dict = dict.copy()
fromkeys() নির্দিষ্ট কী এবং মান সহ একটি অভিধান প্রদান করে dict.fromkeys(keys, value)
get() নির্দিষ্ট কী এর মান প্রদান করে dict.get(key)
items() প্রতিটি কী-মানের সংমিশ্রণের জন্য একটি টিপল ধারণকারী একটি তালিকা প্রদান করে dict.items()
keys() অভিধানের কী সমন্বিত একটি তালিকা প্রদান করে dict.keys()
pop() নির্দিষ্ট কী ধারণকারী একটি আইটেম মুছে দেয় dict.pop(key)
popitem() শেষ সন্নিবেশিত কী-মান জোড়া মুছে দেয় dict.popitem()
setdefault() নির্দিষ্ট কী এর মান প্রদান করে। যদি কী বিদ্যমান না থাকে: প্রদত্ত মান সহ কী সন্নিবেশ করান dict.setdefault(key, value)
update() নির্দিষ্ট কী-মানের মিলের সাথে অভিধান আপডেট করে dict.update(other_dict)
values() অভিধানে সমস্ত মানগুলির একটি তালিকা প্রদান করে dict.values()

পদ্ধতির ধরন

অনুসন্ধান পদ্ধতি

  • get()- চাবির মূল্য পান
  • setdefault()- না হলে কী ঢোকান
  • keys()- সব চাবি নাও
  • values()- সব মান পান
  • items()- সব সমান্তরাল পান

এই পদ্ধতিগুলি তথ্য পেতে সাহায্য করে

রূপান্তর পদ্ধতি

  • update()- শব্দভান্ডার আপডেট করুন
  • pop()- আইটেম মুছুন
  • popitem()- শেষ আইটেম মুছুন
  • clear()- সব মুছে দিন
  • copy()- একটা কপি নাও

এই পদ্ধতিগুলি শব্দভান্ডার পরিবর্তন করে

সৃষ্টির পদ্ধতি

  • fromkeys()- নতুন শব্দভান্ডার তৈরি করুন
  • copy()- একটি কপি তৈরি করুন

এই পদ্ধতিগুলি নতুন শব্দভাণ্ডার তৈরি করে

গুরুত্বপূর্ণ পদ্ধতি এবং উদাহরণ

get()পদ্ধতি

কী পাওয়া না গেলে ত্রুটি এড়াতে:

ছাত্র = {"নাম": "জন", "বয়স": 20} # নিরাপদ অ্যাক্সেস গ্রেড = student.get("গ্রেড", "অর্পণ করা হয়নি") প্রিন্ট(গ্রেড) # আউটপুট: বরাদ্দ করা হয়নি # একটি ত্রুটি নিক্ষেপ করে (কী ত্রুটি) # গ্রেড = ছাত্র["গ্রেড"]

setdefault()পদ্ধতি

কীটি বিদ্যমান না থাকলে সন্নিবেশ করে, অন্যথায় বিদ্যমান মান প্রদান করে:

ছাত্র = {"নাম": "জন", "বয়স": 20} # কোন কী - সন্নিবেশ করা হবে এবং মান ফেরত দেওয়া হবে grade = student.setdefault("গ্রেড", "A") প্রিন্ট(গ্রেড) # আউটপুট: A প্রিন্ট(ছাত্র) # {'নাম': 'জন', 'বয়স': 20, 'গ্রেড': 'A'} # কী বিদ্যমান - বিদ্যমান মান ফেরত দেওয়া হবে name = student.setdefault("নাম", "অজানা") প্রিন্ট(নাম) # আউটপুট: জন

fromkeys()পদ্ধতি

কীগুলির একটি সেট থেকে একটি নতুন অভিধান তৈরি করে:

# সমস্ত কীগুলির জন্য একই মান কী = ["নাম", "বয়স", "গ্রেড"] default_dict = dict.fromkeys(কী, "অজানা") মুদ্রণ (ডিফল্ট_ডিক্ট) # আউটপুট: {'নাম': 'অজানা', 'বয়স': 'অজানা', 'গ্রেড': 'অজানা'} # ডিফল্ট মান ছাড়া কী = ["a", "b", "c"] new_dict = dict.fromkeys(কী); print(new_dict) # {'a': কোনোটিই নয়, 'b': কোনোটিই নয়, 'c': কোনোটিই নয়}

update()পদ্ধতি

দুটি শব্দ একত্রিত করে বা নতুন সংযোজন যোগ করে:

ছাত্র = {"নাম": "জন", "বয়স": 20} # অন্য শব্দভান্ডারের সাথে আপডেট করুন extra_info = {"গ্রেড": "A", "শহর": "নিউ ইয়র্ক"} student.update(অতিরিক্ত_তথ্য) মুদ্রণ (ছাত্র) # {'নাম': 'জন', 'বয়স': 20, 'গ্রেড': 'A', 'শহর': 'নিউ ইয়র্ক'} পরিবর্তনশীল আর্গুমেন্ট সহ # আপডেট করুন student.update(grade="B", phone="123-456-7890") মুদ্রণ (ছাত্র) # {'নাম': 'জন', 'বয়স': 20, 'গ্রেড': 'বি', 'শহর': 'নিউ ইয়র্ক', 'ফোন': '123-456-7890'}

get() vs setdefault()

get()পদ্ধতি

student = {"name": "John"}
value = student.get("age", 20)
print(value)  # 20
print(student)  # {'name': 'John'}

কার্যকলাপ:শুধুমাত্র মূল্য দেয়

শব্দকোষ:পরিবর্তন হবে না

রিটার্ন মান:মান বা ডিফল্ট

আবেদন:শুধু পড়া

setdefault()পদ্ধতি

student = {"name": "John"}
value = student.setdefault("age", 20)
print(value)  # 20
print(student)  # {'name': 'John', 'age': 20}

কার্যকলাপ:মান ফেরত দেয় এবং না থাকলে কী সন্নিবেশ করায়

শব্দকোষ:পরিবর্তন হতে পারে (যদি চাবি না হয়)

রিটার্ন মান:বিদ্যমান মান বা নতুন মান

আবেদন:পড়া এবং লেখা

⚠️মূল পার্থক্য:

get()শব্দভান্ডার পরিবর্তন করে না,setdefault()কী উপস্থিত না থাকলে শব্দভান্ডার প্রতিস্থাপন করে।

copy()পদ্ধতি - গভীর বনাম অগভীর অনুলিপি

একটি সুপারফিশিয়াল কপি

মূল = {"a": 1, "b": [1, 2, 3]} shallow_copy = original.copy() # অতিমাত্রায় পরিবর্তন অগভীর_কপি["বি"]।সংযোজন(4) মুদ্রণ ("মূল:", আসল) # {'a': 1, 'b': [1, 2, 3, 4]} মুদ্রণ ("কপি:", অগভীর_কপি) # {'a': 1, 'b': [1, 2, 3, 4]}

কার্যকলাপ:একটি সুপারফিশিয়াল কপি

অভ্যন্তরীণ উপকরণ:ভাগ করা হয়

আবেদন: dict.copy()

গভীর অনুলিপি

কপি আমদানি করুন মূল = {"a": 1, "b": [1, 2, 3]} deep_copy = copy.deepcopy(মূল); # গভীর রূপান্তর deep_copy["b"].append(4) মুদ্রণ ("মূল:", আসল) # {'a': 1, 'b': [1, 2, 3]} মুদ্রণ ("কপি:", গভীর_কপি) # {'a': 1, 'b': [1, 2, 3, 4]}

কার্যকলাপ:গভীর অনুলিপি

অভ্যন্তরীণ উপকরণ:সদ্য নির্মিত

আবেদন: copy.deepcopy(dict)

পদ্ধতির ধরন ফেরত দিন

পদ্ধতি রিটার্ন টাইপ উদাহরণ দ্রষ্টব্য
get() মান বা ডিফল্ট dict.get('key', None) কোন কি যদি কোন ত্রুটি
setdefault() মান dict.setdefault('key', 'default') উপস্থিত না থাকলে কী সন্নিবেশ করান
items() dict_items object dict.items() মূল-মান পারস্পরিক সম্পর্কগুলির একটি দৃশ্য
keys() dict_keys object dict.keys() চাবিগুলির একটি দৃশ্য
values() dict_values object dict.values() মূল্যবোধের একটি দৃশ্য
pop() মুছে ফেলা মান dict.pop('key') কী পাওয়া না গেলে KeyError
popitem() (কী, মান) দ্বিগুণ dict.popitem() অভিধান খালি থাকলে কী ত্রুটি

অনুশীলন করুন

নিচের কোডের আউটপুট কি হবে?

student = {"name": "John", "age": 20}
result = student.setdefault("grade", "A")
student.update({"age": 21, "city": "NYC"})
print(student.get("city", "Unknown"))
print(result)

অনুশীলন প্রশ্ন:

অজানা এবং এ
✗ ভুল! update() পদ্ধতি "NYC"-তে "শহর" যোগ করে, তাই get() "NYC" প্রদান করে।
এনওয়াইসি এবং এ
✓ ঠিক আছে! setdefault() "A" এ "গ্রেড" যোগ করে এবং "A" প্রদান করে। update() "NYC" এ "শহর" যোগ করে। get() "NYC" প্রদান করে।
NYC এবং কোনটি নয়
✗ ভুল! setdefault() "A" রিটার্ন করে, None নয়, কারণ কোন "গ্রেড" কী নেই
একটি ত্রুটি ঘটবে
✗ ভুল! এই কোডে কোন ত্রুটি নেই। সমস্ত পদ্ধতি সঠিকভাবে ব্যবহার করা হয়

সর্বোত্তম অনুশীলন

ত্রুটি এড়াতেget()ব্যবহার করুন: value = dict.get(key, default_value)
না হলে কী ঢোকানsetdefault()ব্যবহার করুন: value = dict.setdefault(key, default_value)
শব্দভান্ডার একত্রিত করতেupdate()ব্যবহার করুন: dict1.update(dict2)
copy()পদ্ধতির সীমাবদ্ধতা সম্পর্কে সচেতন হন:এটি শুধুমাত্র একটি সুপারফিসিয়াল কপি, একটি গভীর অনুলিপি নয়
আবার ভোকাবুলারি খেলার জন্যitems()ব্যবহার করুন: for key, value in dict.items():
স্থির কী দিয়ে থিসরাস তৈরি করতেfromkeys()ব্যবহার করুন: dict.fromkeys(['a', 'b', 'c'], 0)