ภาพรวม
บทความสอน 3 วิธีดึง keys จาก dictionary มาเป็น list
ตัวอย่างข้อมูล
Adict = {1: 'Sun', 2: 'Mon', 3: 'Tue', 4: 'Wed'}
ผลลัพธ์: [1, 2, 3, 4]
วิธี 1: ใช้ dict.keys()
Adict = {1: 'Sun', 2: 'Mon', 3: 'Tue', 4: 'Wed'}
keys_list = list(Adict.keys())
print(keys_list) # [1, 2, 3, 4]
วิธีมาตรฐาน อ่านง่าย Python 3 คืน view object ต้องแปลง list()
วิธี 2: ใช้ * (Unpacking)
Adict = {1: 'Sun', 2: 'Mon', 3: 'Tue', 4: 'Wed'}
keys_list = [*Adict]
print(keys_list) # [1, 2, 3, 4]
Python 3.5+ รองรับ unpacking dictionary โดยตรงได้ keys
วิธี 3: ใช้ operator.itemgetter
from operator import itemgetter
Adict = {1: 'Sun', 2: 'Mon', 3: 'Tue', 4: 'Wed'}
keys_list = list(map(itemgetter(0), Adict.items()))
print(keys_list) # [1, 2, 3, 4]
items() คืน (key, value) pairs, itemgetter(0) เอา key
สรุป
list(dict.keys()): มาตรฐาน แนะนำใช้ทั่วไป[*dict]: สั้นที่สุด Pythonicitemgetter: เร็วกว่า lambda สำหรับข้อมูลมาก