我是 python/编程的新手,更像是 json 的菜鸟。
我正在为我的副项目制作一个字典应用程序,它工作正常,我可以搜索单词并获得它们的定义,但我想让它变得完美,我希望结果对最终用户来说是可读的(我知道缩进,但我不希望括号和所有 json 格式出现在结果中)
所以这是我从中提取数据的 json:
{
"Bonjour": {
"English Word": "Hello",
"Type of word": "whatever",
"Defintion": "Means good day",
"Use case example": "Bonjour igo",
"Additional information": "BRO"
}
}
这是我用来获取值的代码(它不起作用),在这种情况下,“搜索”变量 = 到“Bonjour”(这是用户输入)
currentword = json.load(data) #part of the "with open..."
for definition in currentword[search]['English Word', 'Definition', 'Use case example']:
print(definition)
我得到的错误如下:
KeyError: ('English Word', 'Definition', 'Use case example')
现在我不确定“Bonjour”是键还是“English Word”等...是键,如果不是,“Bonjour”是什么
无论如何,我希望它打印“English Word”的值,最好是“English Word - VALUE/DEFINITION”
感谢您的帮助
最佳答案
从您的问题来看,您似乎只想从现有字典中提取一些键值对。
尝试如下:
data = {
"Bonjour": {
"English Word": "Hello",
"Type of word": "whatever",
"Definition": "Means good day",
"Use case example": "Bonjour igo",
"Additional information": "BRO"
}
}
currentword = data
search = "Bonjour"
result = dict((k, currentword[search][k]) for k in ['English Word', 'Definition', 'Use case example'])
for k,v in result.items():
print k + ":" + v
结果:
Definition:Means good day
English Word:Hello
Use case example:Bonjour igo
关于python - 查找 json 键以在 python 中打印不带括号的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54265592/