Pythonã®èŸæžåïŒdictionaryïŒãåºæ¬æ§æãã解説
Pythonã«ã¯ããªã¹ããšç°ãªãããããã®èŠçŽ ãããŒã§çŽã¥ããããšãåºæ¥ãããŒã¿æ§é ãšããŠãèŸæžåãšããåãçšæãããŠããŸãã ããŒãšå€ã®ãã¢ã§ããŒã¿ãä¿ç®¡ããèŸæžåã¯ãæ§ã ãªå Žé¢ã§æŽ»çšãããŸãã ä»åã¯ãPythonã§èŸæžåãæ±ãæ¹æ³ãå®éã®ã³ãŒãã亀ããŠè§£èª¬ããŠãããŸããPythonã«ã¯ããªã¹ããšç°ãªãããããã®èŠçŽ ãããŒã§çŽã¥ããããšãåºæ¥ãããŒã¿æ§é ãšããŠãèŸæžåãšããåãçšæãããŠããŸãã
èŸæžåã¯JSONãPythonããæ±ããšããªã©ãã¯ãããæ§ã ãªå Žé¢ã§äœ¿çšãããéèŠãªåã§ããä»ã®ããã°ã©ãã³ã°èšèªã§ã䜿çšãããŠããã飿³é åããããããããšåŒã°ããããšããããŸãã
ä»åã¯ãPythonã§èŸæžåãæ±ãæ¹æ³ãå®éã®ã³ãŒãã亀ããŠè§£èª¬ããŠãããŸãã
Pythonã®èŸæžåã«ã€ããŠè§£èª¬
è€æ°ã®ããŒã¿ãã²ãšãŸãšãŸãã®ãªããžã§ã¯ããšããŠç®¡çããæ¹æ³ã®ã²ãšã€ãšããŠããªã¹ãããããŸããããããPythonã«ã¯é åã®ä»ã«èŸæžåãšããåãååšããŸãã
èŸæžåãšã¯
èŸæžåãšã¯ããŒãšå€ã®ãã¢ã§ããŒã¿ãä¿æããããŒã¿æ§é ã§ãã
èŸæžåã«ãããŠãã¹ãŠã®å€ã¯ããŒãšçŽã¥ããŠãããèŸæžã®ããã«ããŒã¯ãŒãã玢åŒã§èª¿ã¹ãã°ããã®ããŒã¯ãŒãã«ã€ããŠã®è§£èª¬ïŒå€ïŒãåç
§ã§ããããšããæ§é ã«ãªã£ãŠããŸãã
ã»ãšãã©ã®ããã°ã©ãã³ã°èšèªã§çšæãããŠããããŒã¿æ§é ã§ãããPythonã§ã¯èŸæžåãšåŒã°ããŠããŸãããä»ã®èšèªã§ã¯é£æ³é
åãããããšãã£ãååã§åŒã°ããŠããŸãã
èŸæžåã圹ç«ã€å Žé¢
èŸæžåã¯åè¿°ã®éãããŒããå€ãåç §ããããšãåºæ¥ããããå€ãã®ããŒã¿ãããã°ã©ã äžã§æ±ããšãã«ããŒåã§å€ã®ååŸãèšå®ãå¯èœã§ãã
ããŒåã®ååšããªããã ã®é åã§ã¯ãããŒã¿ã®æ°ãé åã®æ¬¡å æ°ã倧ãããªããšã©ããã©ã®ããŒã¿ã§ãã£ãããå€å¥ããããšãå°é£ã§ãããããããŒåã§å€ã管çã§ããèŸæžåã®å©çšã圹ç«ã¡ãŸãã
ãŸãèŸæžåã¯ãJSON ( JavaScript Object Notation ) ãšåŒã°ããJavaScriptã®ãªããžã§ã¯ãã®èšæ³ã§æžããã軜éã®ããŒã¿ãã©ãŒããããæ±ãå Žåã«ã䜿ãããŸãã
JSONã¯ããŒãšå€ã®ãã¢ã§èšè¿°ããããã©ãŒãããã§ããããããPythonã§èªã¿èŸŒãå Žåã«ã¯åºæ¬çã«JSONã®æååãèŸæžåã«å€æããŠæ±ããŸãã
JSONã¯ãè€æ°ã®èšèªãããªãã·ã¹ãã ã®èšèªéã»ã·ã¹ãã éã®éä¿¡æ¹æ³ãšããŠããå©çšãããŠãããããå®éã®ã¢ããªã»ã·ã¹ãã éçºã®äžã§ã¯ããç®ã«ããããšãããã§ãããã
èŸæžåã®ãªããžã§ã¯ããäœæãã
Pythonã§èŸæžåã®ãªããžã§ã¯ããäœæããã«ã¯3ã€ã®æ¹æ³ããããŸããæ³¢æ¬åŒ§ã§äœæããæ¹æ³ãã³ã³ã¹ãã©ã¯ã¿ã§äœæããæ¹æ³ããããŠforæãšã®çµã¿åããã§äœæããæ¹æ³ã§ãã
æ³¢æ¬åŒ§ã§èŸæžåã®ãªããžã§ã¯ããäœæãã
æ³¢æ¬åŒ§ã§èŸæžåã®ãªããžã§ã¯ããäœæããã«ã¯ã次ã®ããã«æžããŸãã
# æ³¢æ¬åŒ§ã§ã®æžãæ¹ïŒ{ âããŒåâ : å€ }
dict1 = {"id" : 1, "name" : "yamada"}
print(dict1)
#å®è¡çµæ
{'id': 1, 'name': 'yamada'}
{ âããŒåâ : å€ } ãšæžãããšã§ãèŸæžåã®ãªããžã§ã¯ããäœæã§ããŸãã
ãã®ãšãæ³¢æ¬åŒ§å
ã§ã¯ãã³ãã³ã§åºåãããšã§äœåã§ãããŒãšå€ã®ãã¢ãäœæããããšãåºæ¥ãŸãã
ã³ã³ã¹ãã©ã¯ã¿ã§èŸæžåã®ãªããžã§ã¯ããäœæãã
ã³ã³ã¹ãã©ã¯ã¿ãšã¯ãªããžã§ã¯ããäœæãåæåãã颿°ã§ãã
èŸæžåã®ãªããžã§ã¯ããã³ã³ã¹ãã©ã¯ã¿ã§äœæããå Žåã¯ã次ã®ããã«æžããŸãã
dict2 = dict( [ ( âidâ, 2 ), ( ânameâ, âsatoâ ) ] )
print(dict2)
# å®è¡çµæ
{'id': 2, 'name': 'sato'}
foræãšã®çµã¿åããã§èŸæžåã®ãªããžã§ã¯ããäœæãã
Pythonã«ã¯èŸæžå
å
衚èšãšãããèŸæžåã®ãªããžã§ã¯ããäœæããç¬èªã®èšæ³ãååšããŸãã
èŸæžå
å
衚èšã¯ { ããŒãæ ŒçŽãã倿° : å€ãæ ŒçŽãã倿° for èŠçŽ in ãªã¹ã } ãšãã圢åŒã§æžãããšãåºæ¥ãŸãã
dict3 = { val : val*3 for val in [2, 4, 6, 8] }
print(dict3)
# å®è¡çµæ
{2: 6, 4: 12, 6: 18, 8: 24}
èŸæžå
å
衚èšãçšããèŸæžåã®ãªããžã§ã¯ãäœæåŠçã¯ãä»ã®æ¹æ³ã§èŸæžåãäœæããã®ãšæ¯ã¹ãåŠçé床ãéããšããç¹åŸŽããããŸãã
ä»ã®èšèªã«ã¯ååšããªãèšæ³ã§å°ã
æ
£ããå¿
èŠã§ãããæŽ»çšã§ãããšæ§ã
ãªå Žé¢ã§åœ¹ã«ç«ã€èšæ³ã§ãã
èŸæžåã®ãªããžã§ã¯ããå©çšãã
次ã«ãäœæãããªããžã§ã¯ãããå€ãååŸãããæ°ããå€ã远å ãããããæ¹æ³ã«ã€ããŠè§£èª¬ããŠãããŸãã
èŸæžåã®ãªããžã§ã¯ãããå€ãååŸãã
èŸæžåããå€ãååŸããã«ã¯ã次ã®ããã«æžããŸãã
dict1 = {"id" : 1, "name" : "yamada"}
print(dict1["id"])
# å®è¡çµæ
1
print(dict1["name"])
# å®è¡çµæ
yamada
ãã®ããã«èŸæž[âããŒåâ] ã§èŸæžãªããžã§ã¯ãããå€ãååŸããããšãåºæ¥ãŸãããã®ãšããååšããªãããŒåãæå®ãããšãšã©ãŒãåºãŠããŸãã®ã§æ³šæããŸãããã
èŸæžåã®ãªããžã§ã¯ãã«å€ã远å ãã
èŸæžåã®ãªããžã§ã¯ãã«å€ã远å ããäŸãšããŠãããŒã« âidâ ãš ânameâ ãæã€èŸæžã« âageâããŒã®å€ã远å ããæ¹æ³ã解説ããŸãã
ããšããšæã£ãŠããªãããŒãäœæãããã®ããŒã«å¯Ÿå¿ããå€ãèšå®ããã«ã¯æ¬¡ã®ããã«æžããŸãã
dict1 = {"id" : 1, "name" : "yamada"}
dict1["age"] = 22
print(dict1)
# å®è¡çµæ
{'id': 1, 'name': 'yamada', 'age': 22}
ãã®ããã«ãèŸæž [â远å ãããããŒåâ] = 远å ãããããŒã®å€ ãšãã圢åŒã§ãèŸæžã«æ°ããããŒãšå€ã®ãã¢ã远å ããããšãåºæ¥ãŸãã
åæ§ã®æžãæ¹ã§æ¢ã«ååšããããŒãæå®ããå Žåã¯ãæ¢åã®ããŒã®å€ãæŽæ°ãããŸãã
èŸæžåã®ãªããžã§ã¯ãã§äœ¿çšã§ããã¡ãœããã®äŸ
Pythonã®èŸæžåã«ã¯ã以äžã®ãããªäŸ¿å©ãªã¡ãœãããçšæãããŠããŸããããããæŽ»çšããããšã§èŸæžåããã䟿å©ã«äœ¿ãããªãããšãå¯èœã§ãã
dict.keys()
ãã®ã¡ãœããã¯ãèŸæžã®ãã¹ãŠã®ããŒãå«ããã¥ãŒãªããžã§ã¯ããè¿ããŸãããã®ãã¥ãŒãªããžã§ã¯ãã¯ãèŸæžã®å
容ã倿Žããããšåçã«æŽæ°ãããŸãã
ãã¥ãŒãªããžã§ã¯ããšã¯ãPythonã®èŸæžåïŒdictïŒãæäŸããç¹æ®ãªãªããžã§ã¯ãã§ãèŸæžã®ããŒïŒkeys()ã¡ãœããïŒãå€ïŒvalues()ã¡ãœããïŒããŸãã¯ããŒãšå€ã®ãã¢ïŒitems()ã¡ãœããïŒãåç
§ããããã«äœ¿çšãããŸãã
d = {'apple': 1, 'banana': 2, 'cherry': 3}
keys = d.keys()
print(keys) # dict_keys(['apple', 'banana', 'cherry'])
d['mango'] = 4
print(keys) # dict_keys(['apple', 'banana', 'cherry', 'mango'])
dict.values()
ãã®ã¡ãœããã¯ãèŸæžã®ãã¹ãŠã®å€ãå«ããã¥ãŒãªããžã§ã¯ããè¿ããŸãããã®ãã¥ãŒãªããžã§ã¯ãããèŸæžã®å 容ã倿Žããããšåçã«æŽæ°ãããŸãã
d = {'apple': 1, 'banana': 2, 'cherry': 3}
values = d.values()
print(values) # dict_values([1, 2, 3])
d['mango'] = 4
print(values) # dict_values([1, 2, 3, 4])
dict.items()
ãã®ã¡ãœããã¯ãèŸæžã®ãã¹ãŠã®ããŒãšå€ã®ãã¢ãå«ããã¥ãŒãªããžã§ã¯ããè¿ããŸãããã®ãã¥ãŒãªããžã§ã¯ãããèŸæžã®å 容ã倿Žããããšåçã«æŽæ°ãããŸãã
d = {'apple': 1, 'banana': 2, 'cherry': 3}
items = d.items()
print(items) # dict_items([('apple', 1), ('banana', 2), ('cherry', 3)])
d['mango'] = 4
print(items) # dict_items([('apple', 1), ('banana', 2), ('cherry', 3), ('mango', 4)])
dict.update(other_dict)
d = {'apple': 1, 'banana': 2}
d.update({'cherry': 3, 'banana': 4})
print(d) # {'apple': 1, 'banana': 4, 'cherry': 3}
ãããã®ã¡ãœããã¯Pythonã®èŸæžåãæäœããéã«é »ç¹ã«äœ¿çšãããŸããããããçè§£ããé©åã«äœ¿çšããããšã§ãPythonã®èŸæžåããã广çã«æŽ»çšããããšãã§ããŸãã
ãã ãããããã®ã¡ãœããã¯èŸæžåã®ã€ã³ã¹ã¿ã³ã¹ã¡ãœããã§ãããèŸæžåãã®ãã®ãæäŸãã颿°ã§ã¯ãªãããšãçè§£ããŠãããŸãããã
ã€ã³ã¹ã¿ã³ã¹ã¡ãœãããšã¯ãç¹å®ã®ã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ã«å¯ŸããŠæäœãè¡ãããã®ã¡ãœããã®ããšãæããŸãã
ãããã®ã¡ãœããã¯ãã€ã³ã¹ã¿ã³ã¹èªèº«ïŒPythonã§ã¯selfãšããååã§åç
§ãããããšãå€ãïŒã«ã¢ã¯ã»ã¹ã§ãããããã€ã³ã¹ã¿ã³ã¹ã®å
éšç¶æ
ãèªã¿åã£ããã倿Žãããããããšãã§ããŸãã
Pythonã®èŸæžåïŒdictïŒãäžçš®ã®ã¯ã©ã¹ã§ããã®dictã¯ã©ã¹ããçæãããå
·äœçãªèŸæžïŒäŸãã°äžèšã®ãµã³ãã«ã³ãŒãå
ã®ã{'apple': 1, 'banana': 2}ïŒãã€ã³ã¹ã¿ã³ã¹ã§ãã
èŸæžåãã®ãã®ãæäŸãã颿°ãšããŠã¯ãdict()ïŒæ°ããèŸæžãäœæããïŒãªã©ããããŸãã
ãŸããPythonã®çµã¿èŸŒã¿é¢æ°ã§ããlen()ã¯èŸæžã®èŠçŽ æ°ãè¿ãããã«ãã䜿çšãããŸãã
ãããã®é¢æ°ãã¡ãœãããé©åã«çµã¿åãããããšã§ãPythonã®èŸæžåãæå€§éã«æŽ»çšããããšãã§ããŸãã
ããããã®é¢æ°ãã¡ãœããã®è©³çްãªä»æ§ã«ã€ããŠã¯ãPythonã®å
¬åŒããã¥ã¡ã³ããŒã·ã§ã³ãåç
§ããŠãã ããã
ãŸãšã
èŸæžåã®ãªããžã§ã¯ããäœæããå€ãååŸã»è¿œå ããæ¹æ³ã幟ã€ãã®äŸ¿å©ãªã¡ãœããã解説ããŸããã
ãªã¹ããšç°ãªãããããã®èŠçŽ ãããŒã§çŽã¥ããããšãåºæ¥ãèŸæžåã¯ãæ§ã ãªããŒã¿ãPythonã®ããã°ã©ã äžã§æ±ãã«ããã£ãŠæçšãªåã§ãã
ãŸããPythonã§JSONãæ±ããšãã«ãèŸæžåã¯æŽ»çšãããŸãã
èŸæžåã¯æ§ã
ãªå Žé¢ã§æŽ»çšãããåºæ¬çãªåãªã®ã§ãã£ãããšåŠç¿ããèªç±ã«æ±ããããã«ããŸãããã
ãã®èšäºã®ããŒã¯ãŒãã«é¢ããå匷äŒã»ã€ãã³ããæ¢ã
TECH PLAYã§ã¯ãITãšã³ãžãã¢åãã®å匷äŒã»ã€ãã³ãæ å ±ãæäŸããŠããŸãã
èå³ã®ããæ¹ã¯ãã²ãåå ãã ããã











