根据python在单独的行中随机生成的值返回一系列键

问题描述 投票:0回答:0

我试图在随机生成一个数字然后对应于某个键时返回一系列值。

这是我的字典的缩影版(key = word,value = character count):


import random

myDict = {
"lire": "4",
"l'art": "5",
"écrire": "6",
"écouter": "7",
"compter": "7",
"répéter": "7",
"étudier": "7",
"aller à": "7",
"calculer": "8",
"regarder": "8"}

我尝试了两种选择。

1)

def search(myDict, lookup):
    for key, value in myDict.items():
        for v in value:
            if lookup in v:
                return key

print(search(myDict, str(random.sample(range(4,5), 1))))
print([k for k, v in myDict.items() if v == 'random.sample(range(4,5), 1)'])

当值为“4”并分别打印 lire 或 ['lire'] 时,这两个选项都有效。 但是,当值为 4(不带引号)或 random.sample(range(4,5),1) 或 'random.sample(range(4,5),1)' 时,它返回 [].

值似乎必须是一个字符串,但如果我在 '' 中搜索随机函数,那么它显然不会返回键,因为没有一个值被称为 'random.sample(range(4,5),1)' .

如果有人能找到一个解决方案,我可以链接这两个部分(随机生成的数字和来自随机值的有效键集),那就太好了。谢谢。

python dictionary random key key-value
© www.soinside.com 2019 - 2024. All rights reserved.