如何以随机顺序遍历字典的所有项目?我的意思是 random.shuffle,但对于字典。
最佳答案
dict
是一组无序的键值对。当您迭代 dict
时,它实际上是随机的。但要显式随机化键值对序列,您需要使用不同的有序对象,例如列表。 dict.items()
、dict.keys()
、dict.values()
分别返回列表,可以打乱。
items=d.items() # List of tuples
random.shuffle(items)
for key, value in items:
print key, value
keys=d.keys() # List of keys
random.shuffle(keys)
for key in keys:
print key, d[key]
或者,如果您不关心 key :
values=d.values() # List of values
random.shuffle(values) # Shuffles in-place
for value in values:
print value
你也可以“随机排序”:
for key, value in sorted(d.items(), key=lambda x: random.random()):
print key, value
关于python - 如何在Python中以随机顺序遍历dict?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7785672/