ดูเหมือนว่ารายการที่ส่งคืนโดยkeys()
และvalues()
เมธอดของพจนานุกรมมักจะมีการแมปแบบ 1 ต่อ 1 เสมอ (สมมติว่าพจนานุกรมไม่มีการเปลี่ยนแปลงระหว่างการเรียกใช้ 2 เมธอด)
ตัวอย่างเช่น:
>>> d = {'one':1, 'two': 2, 'three': 3}
>>> k, v = d.keys(), d.values()
>>> for i in range(len(k)):
print d[k[i]] == v[i]
True
True
True
หากคุณไม่เปลี่ยนพจนานุกรมระหว่างการโทรkeys()
และการโทรvalues()
เป็นความผิดหรือไม่ที่จะถือว่าการ for-loop ข้างต้นจะพิมพ์ True เสมอ? ฉันไม่พบเอกสารที่ยืนยันสิ่งนี้