ความพยายามของฉันในการสร้างพจนานุกรมรายการโดยใช้โปรแกรมไม่สามารถอนุญาตให้ฉันกำหนดคีย์พจนานุกรมทีละรายการได้ เมื่อใดก็ตามที่ฉันสร้างพจนานุกรมของรายการและพยายามผนวกเข้ากับคีย์เดียวรายการทั้งหมดจะได้รับการอัปเดต นี่เป็นกรณีทดสอบที่ง่ายมาก:
data = {}
data = data.fromkeys(range(2),[])
data[1].append('hello')
print data
ผลลัพธ์ที่แท้จริง: {0: ['hello'], 1: ['hello']}
ผลลัพธ์ที่คาดหวัง: {0: [], 1: ['hello']}
นี่คือสิ่งที่ได้ผล
data = {0:[],1:[]}
data[1].append('hello')
print data
ผลลัพธ์ที่เกิดขึ้นจริงและที่คาดหวัง: {0: [], 1: ['hello']}
เหตุใดfromkeys
วิธีนี้จึงไม่ได้ผลตามที่คาดไว้