为什么在python中打印有{的代码不能正常工作
我有一本字典在下面:为什么在python中打印有{的代码不能正常工作,python,dictionary,Python,Dictionary,我有一本字典在下面: 事件={ “body json”:{}, “参数”:{ “路径”:{ “匹配短语”:“术语” }, “查询字符串”:{ “dataproduct.keyword”:“运行状况” }, “标题”:{ “接受”:“应用程序/json” } }, “资源路径”:“/{matchphrase}” } 我想访问上述事件字典键和值,并按如下方式构建一个新字典: {“查询”:{“术语”:{“dataproduct.keyword”:“health”}} 以下是我尝试的代码: a=eve
事件={
“body json”:{},
“参数”:{
“路径”:{
“匹配短语”:“术语”
},
“查询字符串”:{
“dataproduct.keyword”:“运行状况”
},
“标题”:{
“接受”:“应用程序/json”
}
},
“资源路径”:“/{matchphrase}”
}
我想访问上述事件
字典键和值,并按如下方式构建一个新字典:
{“查询”:{“术语”:{“dataproduct.keyword”:“health”}}
以下是我尝试的代码:
a=event['params']['path']['matchphrase']#term
b=list(事件['params']['querystring'].keys())[0]#dataproduct.keyword
c=list(事件['params']['querystring'].values())[0]#运行状况
body=f“{query:{{a}:{{b}:{c}}”
印刷品(正文)
我遗漏了什么吗?这应该可以:
body = {"query":{str(a):{str(b):str(c)}}}
print(body)
这应该起作用:
body = {"query":{str(a):{str(b):str(c)}}}
print(body)
逃跑是错误的
请尝试以下方法:
body = f'{{"query": {{{a!r}: {{{b!r}: {c!r}}}}}}}'
我还添加了!r
,它将返回对象的真实表示形式(repr
)(因此不需要人为添加引号)。转义错误
请尝试以下方法:
body = f'{{"query": {{{a!r}: {{{b!r}: {c!r}}}}}}}'
我还添加了
!r
,它将返回对象的真实表示形式(repr
)(因此您不需要人为添加引号)。您可以创建一个字典,然后使用json.dumps
获取它的字符串版本
import json
event = {
"body-json": {},
"params": {
"path": {"matchphrase": "term"},
"querystring": {"dataproduct.keyword": "health"},
"header": {"Accept": "application/json"},
},
"resource-path": {"matchphrase}"},
}
a = event["params"]["path"]["matchphrase"] # term
b = list(event["params"]["querystring"].keys())[0] # dataproduct.keyword
c = list(event["params"]["querystring"].values())[0] # health
result = {"query": {a: {b: c}}}
print(json.dumps(result))
您可以创建一个字典,然后使用
json.dumps
获取它的字符串版本
import json
event = {
"body-json": {},
"params": {
"path": {"matchphrase": "term"},
"querystring": {"dataproduct.keyword": "health"},
"header": {"Accept": "application/json"},
},
"resource-path": {"matchphrase}"},
}
a = event["params"]["path"]["matchphrase"] # term
b = list(event["params"]["querystring"].keys())[0] # dataproduct.keyword
c = list(event["params"]["querystring"].values())[0] # health
result = {"query": {a: {b: c}}}
print(json.dumps(result))
body=f'{“query”:{{{a}:{{{b}:{c}}}}
body=f'{“query”:{{{a}:{{b}:{c}}}你能回答下面的问题吗@aysh我没有使用dynamodb和弹性搜索的经验。你能回答下面的问题吗@aysh我没有使用dynamodb和弹性搜索的经验。