[英]How to rank the column values based on a dictionary and retain the highest value?
[英]How to Retain python dictionary value
我正在尝试从下面的列表中创建字典,我只需要2个值,并且希望它们作为键和值。 它仅打印列表中的最后一个dict值,并且缺少“ key”:“ earthquake”
{'locale': 'Raj', 'latlng': 'Sahu', 'include': 'website', 'agent': 'Pramod'}
我希望它能打印
{'locale': 'Raj', 'latlng': 'Sahu', 'include': 'website', 'agent': 'Pramod', 'key':'earthquake'}
我在这里想念什么?
parameters = [
{
"type": "0",
"name": "key",
"value": "earthquake"
},
{
"type": "0",
"name": "include",
"value": "website"
}
]
def create():
for parameter in parameters:
params = {parameter.get('name'):parameter.get('value')}
params["locale"] = "Raj"
params["agent"] = "Pramod"
params["latlng"] = "Sahu"
print params
return params
if __name__ == '__main__':
create()
您将在每次循环迭代中替换dict。 尝试将声明放在for循环上方,然后在每次迭代中向其添加键和值,如下所示
params = {}
for parameter in parameters:
param[parameter.get('name')] = parameter.get('value')
params['locale'] = 'raj'
# ...
您正在遍历词典列表。 因此,在第二遍中,它将密钥设置为include
,并将值设置为website
。 您需要在循环上方初始化一个字典,在该字典中将存储结果,否则您将继续覆盖它。 您也可以这样做:
params = {}
params["locale"] = "Raj"
params["agent"] = "Pramod"
params["latlng"] = "Sahu"
for parameter in parameters:
params.update({parameter.get('name'):parameter.get('value')})
使用理解,您可以执行以下操作:
params = { p.get('name'):p.get('value') for p in parameters if p.get('value') == 'earthquake' }
params['locale'] = 'raj'
# ...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.