পাইথন - শব্দভান্ডার পদ্ধতি
পাইথনে বিল্ট-ইন পদ্ধতির একটি সেট রয়েছে যা অভিধানের সাথে ব্যবহার করা যেতে পারে।
শব্দভান্ডার পদ্ধতি
| পদ্ধতি | ব্যাখ্যা | উদাহরণ |
|---|---|---|
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)
অনুশীলন প্রশ্ন:
সর্বোত্তম অনুশীলন
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)