Dictionary ไม่ได้เป็น iterable ที่มี index → ไม่สามารถสุ่มลำดับโดยตรงได้ แต่ keys() เป็น iterable สามารถสุ่มลำดับด้วย random.shuffle() แล้ววนพิมพ์ตาม key ที่สุ่มแล้ว
ตัวอย่าง
>> D1 = {"pen": 25, "pencil": 10, "book": 100, "sharpner": 5, "eraser": 5}
>>> import random
>>> keys = list(D1.keys())
>>> keys
['pen', 'pencil', 'book', 'sharpner', 'eraser']
>>> random.shuffle(keys)
>>> keys
['pencil', 'eraser', 'sharpner', 'book', 'pen']
>>> for k in keys:
... print(k, D1[k])
pencil 10
eraser 5
sharpner 5
book 100
pen 25
วิธีสั้นๆ (Python 3.6+)
>> import random >>> for k in random.sample(list(D1), len(D1)): ... print(k, D1[k])
random.sample(population, k) เลือก k รายการไม่ซ้ำแบบสุ่ม → ใช้สำหรับ shuffle ได้เลย
Python 3.8+: random.shuffle() รับ sequence ใดๆ
>> items = list(D1.items()) >>> random.shuffle(items) >>> for k, v in items: ... print(k, v)