我有字典:
>>> print(dict)
{'gs': ['bags', 'begs', 'bogs'],
'le': ['Cole', 'Dale', 'Dole'],
'll': ['Ball', 'Bell', 'Bill']}
对于每个键,我只想从其列表中选择一个单词(随机)。 输出如下:
{'gs': begs, 'le': 'Cole', 'll': 'Bill'}
以此类推。
我尝试了很多事情,但是没有一个字典的每个键都给我一个字。有一种简单的方法吗?
答案 0 :(得分:5)
只需在字典的值上使用random.choice
,即可重建仅具有1个名称作为值的dict理解
import random
d = {'gs': ['bags', 'begs', 'bogs'],
'le': ['Cole', 'Dale', 'Dole'],
'll': ['Ball', 'Bell', 'Bill']}
result = {k:random.choice(v) for k,v in d.items()}
一个输出:
{'gs': 'bogs', 'le': 'Dale', 'll': 'Bell'}
答案 1 :(得分:0)
我认为一种简单的方法是从0到每个列表的长度之间选择一个随机数,然后选择与该索引对应的项目!只需遍历字典的键(使用list(yourdictionary)
),获取每个列表,找到其长度,选择随机数,最后获取元素。