Python - சொற்களஞ்சிய முறைகள்
பைத்தானில் சொற்களஞ்சியங்களில் பயன்படுத்தக்கூடிய உள்ளமைக்கப்பட்ட முறைகளின் தொகுப்பு உள்ளது.
சொற்களஞ்சிய முறைகள்
| முறை | விளக்கம் | எடுத்துக்காட்டு |
|---|---|---|
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() முறை
விசை கிடைக்காதபோது பிழையைத் தவிர்க்க உதவுகிறது:
student = {"name": "John", "age": 20}
# பாதுகாப்பான அணுகல்
grade = student.get("grade", "Not assigned")
print(grade) # Output: Not assigned
# பிழையை ஏற்படுத்தும் (KeyError)
# grade = student["grade"]
setdefault() முறை
விசை இல்லையென்றால் செருகுகிறது, இல்லையென்றால் இருக்கும் மதிப்பைத் தருகிறது:
student = {"name": "John", "age": 20}
# விசை இல்லை - செருகப்பட்டு மதிப்பு தரப்படும்
grade = student.setdefault("grade", "A")
print(grade) # Output: A
print(student) # {'name': 'John', 'age': 20, 'grade': 'A'}
# விசை உள்ளது - இருக்கும் மதிப்பு தரப்படும்
name = student.setdefault("name", "Unknown")
print(name) # Output: John
fromkeys() முறை
விசைகளின் தொகுப்பிலிருந்து புதிய சொற்களஞ்சியத்தை உருவாக்குகிறது:
# அனைத்து விசைகளுக்கும் ஒரே மதிப்பு
keys = ["name", "age", "grade"]
default_dict = dict.fromkeys(keys, "Unknown")
print(default_dict)
# Output: {'name': 'Unknown', 'age': 'Unknown', 'grade': 'Unknown'}
# இயல்புநிலை மதிப்பு இல்லாமல்
keys = ["a", "b", "c"]
new_dict = dict.fromkeys(keys)
print(new_dict) # {'a': None, 'b': None, 'c': None}
update() முறை
இரண்டு சொற்களஞ்சியங்களை இணைக்கிறது அல்லது புதிய இணைகளைச் சேர்க்கிறது:
student = {"name": "John", "age": 20}
# மற்றொரு சொற்களஞ்சியத்துடன் புதுப்பி
additional_info = {"grade": "A", "city": "New York"}
student.update(additional_info)
print(student)
# {'name': 'John', 'age': 20, 'grade': 'A', 'city': 'New York'}
# மாறி வாதங்களுடன் புதுப்பி
student.update(grade="B", phone="123-456-7890")
print(student)
# {'name': 'John', 'age': 20, 'grade': 'B', 'city': 'New York', 'phone': '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() முறை - ஆழமான vs மேலோட்டமான நகல்
மேலோட்டமான நகல்
original = {"a": 1, "b": [1, 2, 3]}
shallow_copy = original.copy()
# மேலோட்டமான மாற்றம்
shallow_copy["b"].append(4)
print("Original:", original)
# {'a': 1, 'b': [1, 2, 3, 4]}
print("Copy:", shallow_copy)
# {'a': 1, 'b': [1, 2, 3, 4]}
செயல்பாடு: மேலோட்டமான நகல்
உள் பொருட்கள்: பகிரப்படுகின்றன
பயன்பாடு: dict.copy()
ஆழமான நகல்
import copy
original = {"a": 1, "b": [1, 2, 3]}
deep_copy = copy.deepcopy(original)
# ஆழமான மாற்றம்
deep_copy["b"].append(4)
print("Original:", original)
# {'a': 1, 'b': [1, 2, 3]}
print("Copy:", deep_copy)
# {'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() |
சொற்களஞ்சியம் காலியாக இருந்தால் KeyError |
பயிற்சி
பின்வரும் குறியீட்டின் வெளியீடு என்னவாக இருக்கும்?
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)