ในการวนรอบองค์ประกอบของอ็อบเจ็กต์พจนานุกรม Python ด้วยคำสั่ง for ให้ใช้เมธอดต่อไปนี้บนอ็อบเจ็กต์พจนานุกรม ซึ่งสามารถใช้ร่วมกับ list() เพื่อรับรายการคีย์และค่าทั้งหมดในพจนานุกรม
keys()
:สำหรับการประมวลผลแบบวนซ้ำสำหรับคีย์แต่ละองค์ประกอบvalues()
:สำหรับการประมวลผลแบบวนซ้ำสำหรับแต่ละค่าองค์ประกอบitems()
:สำหรับการประมวลผลแบบวนซ้ำสำหรับคีย์และค่าของแต่ละองค์ประกอบ
ออบเจ็กต์พจนานุกรมต่อไปนี้เป็นตัวอย่าง
d = {'key1': 1, 'key2': 2, 'key3': 3}
สามารถรับกุญแจได้โดยการเปลี่ยนวัตถุพจนานุกรมในคำสั่ง for ตามที่เป็นอยู่
for k in d: print(k) # key1 # key2 # key3
keys():สำหรับการประมวลผลแบบวนซ้ำสำหรับคีย์แต่ละองค์ประกอบ
ดังที่กล่าวไว้ข้างต้น สามารถรับกุญแจได้โดยการหมุนอ็อบเจกต์พจนานุกรมตามที่เป็นอยู่ในคำสั่ง for แต่สามารถใช้เมธอด keys() ได้เช่นกัน
for k in d.keys(): print(k) # key1 # key2 # key3
keys() วิธีการส่งกลับคลาส dict_keys หากคุณต้องการสร้างรายการ คุณสามารถใช้ฟังก์ชัน list()
keys = d.keys() print(keys) print(type(keys)) # dict_keys(['key1', 'key2', 'key3']) # <class 'dict_keys'> k_list = list(d.keys()) print(k_list) print(type(k_list)) # ['key1', 'key2', 'key3'] # <class 'list'>
DICT_KEYS สามารถดำเนินการตั้งค่าได้
values():สำหรับการประมวลผลแบบวนซ้ำสำหรับแต่ละค่าองค์ประกอบ
หากคุณต้องการประมวลผล for-loop สำหรับแต่ละค่าองค์ประกอบ ให้ใช้เมธอด values()
for v in d.values(): print(v) # 1 # 2 # 3
วิธีค่า () ส่งกลับคลาส dict_values หากคุณต้องการสร้างรายการ คุณสามารถใช้ฟังก์ชัน list()
values = d.values() print(values) print(type(values)) # dict_values([1, 2, 3]) # <class 'dict_values'> v_list = list(d.values()) print(v_list) print(type(v_list)) # [1, 2, 3] # <class 'list'>
เนื่องจากค่าอาจเหลื่อมกัน จึงไม่สนับสนุนชุดการดำเนินการของ dict_values
items():สำหรับการประมวลผลแบบวนซ้ำสำหรับคีย์และค่าของแต่ละองค์ประกอบ
หากคุณต้องการดำเนินการ for loop สำหรับทั้งคีย์และค่าของแต่ละองค์ประกอบ ให้ใช้เมธอด items()
for k, v in d.items(): print(k, v) # key1 1 # key2 2 # key3 3
(key, value)
ดังนั้นจึงสามารถรับเป็นทูเพิลได้
for t in d.items(): print(t) print(type(t)) print(t[0]) print(t[1]) print('---') # ('key1', 1) # <class 'tuple'> # key1 # 1 # --- # ('key2', 2) # <class 'tuple'> # key2 # 2 # --- # ('key3', 3) # <class 'tuple'> # key3 # 3 # ---
รายการ () วิธีการส่งคืนคลาส dict_items หากคุณต้องการสร้างรายการ คุณสามารถใช้ฟังก์ชัน list() แต่ละองค์ประกอบเป็นทูเพิล(key, value)
items = d.items() print(items) print(type(items)) # dict_items([('key1', 1), ('key2', 2), ('key3', 3)]) # <class 'dict_items'> i_list = list(d.items()) print(i_list) print(type(i_list)) # [('key1', 1), ('key2', 2), ('key3', 3)] # <class 'list'> print(i_list[0]) print(type(i_list[0])) # ('key1', 1) # <class 'tuple'>
DICT_ITEMS ยังสามารถดำเนินการตั้งค่าได้