දී ඇති යතුරක් දැනටමත් ශබ්දකෝෂයක තිබේදැයි පරීක්ෂා කරන්න
එය කරන්නේ කෙසේද යන අදහස ලබා ගැනීම සඳහා අපි මුලින් ශබ්ද කෝෂයෙන් ඇමතිය හැකි ක්රම මොනවාදැයි පරීක්ෂා කරමු. මෙන්න ක්රම:
d={'clear':0, 'copy':1, 'fromkeys':2, 'get':3, 'items':4, 'keys':5, 'pop':6, 'popitem':7, 'setdefault':8, 'update':9, 'values':10}
Python Dictionary clear() Removes all Items
Python Dictionary copy() Returns Shallow Copy of a Dictionary
Python Dictionary fromkeys() Creates dictionary from given sequence
Python Dictionary get() Returns Value of The Key
Python Dictionary items() Returns view of dictionary (key, value) pair
Python Dictionary keys() Returns View Object of All Keys
Python Dictionary pop() Removes and returns element having given key
Python Dictionary popitem() Returns & Removes Element From Dictionary
Python Dictionary setdefault() Inserts Key With a Value if Key is not Present
Python Dictionary update() Updates the Dictionary
Python Dictionary values() Returns view of all values in dictionary
යතුර දැනටමත් තිබේදැයි පරීක්ෂා කිරීමේ ම්ලේච්ඡ ක්රමය මෙම ක්රමය විය හැකිය get()
:
d.get("key")
අනෙක් සිත්ගන්නා ක්රම දෙක items()
සහ keys()
ශබ්දය වැඩ වැඩියි වගේ. එබැවින් get()
අපට නිවැරදි ක්රමය දැයි විමසා බලමු. අපට අපගේ ආ ict ාව තිබේ d
:
d= {'clear':0, 'copy':1, 'fromkeys':2, 'get':3, 'items':4, 'keys':5, 'pop':6, 'popitem':7, 'setdefault':8, 'update':9, 'values':10}
මුද්රණය කිරීමෙන් අප සතුව නැති යතුර නැවත ලැබෙනු ඇත None
:
print(d.get('key')) #None
print(d.get('clear')) #0
print(d.get('copy')) #1
යතුර තිබේද නැද්ද යන්න පිළිබඳ තොරතුරු ලබා ගැනීමට අපි එය භාවිතා කළ හැකිය . නමුත් අපි තනි එකක් සමඟ ආ ict ාවක් නිර්මාණය කරන්නේ නම් මෙය සලකා බලන්න key:None
:
d= {'key':None}
print(d.get('key')) #None
print(d.get('key2')) #None
get()
සමහර අගයන් තිබිය හැකි නම් එම ක්රමයට නායකත්වය දීම විශ්වාසදායක නොවේ None
. මෙම කතාවට සතුටුදායක අවසානයක් තිබිය යුතුය. අපි in
සංසන්දකය භාවිතා කරන්නේ නම් :
print('key' in d) #True
print('key2' in d) #False
අපට නිවැරදි ප්රති .ල ලැබේ. අපට පයිතන් බයිට් කේතය පරීක්ෂා කළ හැකිය:
import dis
dis.dis("'key' in d")
# 1 0 LOAD_CONST 0 ('key')
# 2 LOAD_NAME 0 (d)
# 4 COMPARE_OP 6 (in)
# 6 RETURN_VALUE
dis.dis("d.get('key2')")
# 1 0 LOAD_NAME 0 (d)
# 2 LOAD_METHOD 1 (get)
# 4 LOAD_CONST 0 ('key2')
# 6 CALL_METHOD 1
# 8 RETURN_VALUE
මේ අනුව පැහැදිලි in
සංසන්දනය ක්රියාකරු පමණක් වඩා විශ්වාසදායක නමුත් පවා වඩා වේගයෙන් නොවේ get()
.
dict.keys()
ප්රලේඛනයට අනුව ඇමතුම් යතුරු ලැයිස්තුවක් නිර්මාණය කරයි, නමුත් මෙම රටාව බැරෑරුම් ලෙස ක්රියාත්මක කිරීමේදී පරිවර්තනය කිරීම සඳහා ප්රශස්තිකරණය නොකළේ නම් මම පුදුම වෙමි. වෙත .if 'key1' in dict: