คุณสามารถใช้ list comprehension เพื่อตัดคีย์ใน Python dict ได้ วนลูปผ่านคีย์ใน dict และสร้าง dict ใหม่ด้วยคีย์ที่ถูกตัดแล้ว
ตัวอย่าง
def truncate_keys(a, length):
return dict((k[:length], v) for k, v in a.items())
a = {'foo': 125, 'bar': 'hello'}
b = truncate_keys(a, 2)
print(b)
ผลลัพธ์
{'fo': 125, 'ba': 'hello'}
คุณต้องระวังเรื่องการชนชื่อ (name collision) เพราะหากสตริง 2 ตัวมี prefix เหมือนกัน จะทับค่ากัน