我如何随机获取特定的字典项及其键?

How do I take a specific dictionary item along with it's key randomly?

看看这个例子:

dictionary = {"hello":"world", "yes":"sir", "very":"funny", "good":"bye"}

现在如果我想从这个词典中随机选择一个项目(连同它的键),我该怎么做?我试过了:

random.choice(dictionary)

但是它不起作用并且returns这个回溯错误:

  File "C:\Users\dado\AppData\Local\Programs\Python\Python310-32\lib\random.py", line 378, in choice
    return seq[self._randbelow(len(seq))]
KeyError: 3

我想用它的键随机获取一个项目,并将每个项目存储在这样的变量中:

random_item = # Code to grab a random item
random_items_key = # Code to grab that random item's key

所以如果我们随机选择:

("hello":"world")

变量的值将是:

random_item = # This would be "hello"
random_items_key = # And this should be "world"

那么我们如何从 python 中的字典中随机抓取一对呢?我们如何将每个存储在不同的变量中?希望得到一些帮助,谢谢 -

您可以在 dict.keys() 上使用 random.choice() 获得所需的行为(即包含字典键的列表),这将为您 return 一个随机键。然后您可以使用该键获取相应的值。例如:

>>> import random
>>> my_dict = {"hello":"world", "yes":"sir", "very":"funny", "good":"bye"}

# Pick random key from your dict
>>> random_key = random.choice(list(my_dict.keys()))  # For example: "very"

# Get value corresponding to random key  
>>> my_dict[random_key]  # will return "funny"

或者,要同时获取键和值,您可以在 dict.items() 上执行 random.choice()。例如:

key, value = random.choice(list(my_dict.items()))