我有以下json文件,我需要一种方法来随机选择json数据并打印其值。
json文件:
{
"base": [{"1": "add"},{"2": "act"}],
"past": [{"add": "added"},{"act": "acted"}],
"past-participle": [{"add": "added"},{"act": "acted"}],
"s-es-ies": [{"add": "adds"},{"act": "acts"}],
"ing": [{"add": "adding"},{"act": "acting"}]
}
示例
user_input = 'past' >> past
code randomly selects 'add' or 'act' from past >> add
prints out its value >> added
答案 0 :(得分:2)
使用random.choice
作为选项提供所选key
的序列:
user_input = input('> ')
> past
list(choice(j[user_input]).values())[0]
Out[177]: 'added'
将其置于函数中以使其更紧凑:
def random_json_val(json_obj, k):
return list(choice(json_obj[k]).values())[0]
调用它可以获得给定k
的随机值:
>>> random_json_val(j, 'past')
'added'
>>> random_json_val(j, 'past')
'acted'
>>> random_json_val(j, 's-es-ies')
'acts'