python - 寻找 json 键以在 python 中打印不带括号的内容
问题描述
我对 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”是键还是“英文单词”等...是键,如果不是,什么是“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
推荐阅读
- kubernetes - 在 Helm 图表中组合字符串和变量
- javascript - JavaScript 访问局部变量
- c++ - c++构造函数lnk2019未解析的外部符号
- javascript - 为什么我使用简单的哈希函数得到非法参数错误?
- java - Java Has-A 关系、组合或聚合
- android - Expo React Native 应用程序中的 RTMP 直播
- sqlite - 插入或更新计数器值,然后在单个语句中返回计数器值
- node.js - 如何将 Firebase 存储图像获取为 base64?
- javascript - 在 google-chrome-extension 中管理从内容脚本到 vue js 弹出页面的多条消息
- r - 在 r 中使用 NA 在现有数据帧上滚动行和