简体   繁体   English

将 QueryDict 转换为键值对字典

[英]Convert QueryDict to key-value pair dictionary

I have a QueryDict that I get from request.POST in this format:我有一个以这种格式从request.POST获得的QueryDict

<QueryDict: {'name': ['John'], 'urls': ['google.com/\r\nbing.com/\r\naskjeeves.com/'], 'user_email': ['john.smith@gmail.com']}>

Why are the values all in lists?为什么值都在列表中?

I did dict(request.POST)我做了dict(request.POST)

I got我有

{'name': ['John'], 'urls': ['google.com/\r\nbing.com/\r\naskjeeves.com/'], 'user_email': ['john.smith@gmail.com']}

How can I get?:我怎样才能得到?:

{'name': 'John', 'urls': 'google.com/\r\nbing.com/\r\naskjeeves.com/'`, 'user_email': 'john.smith@gmail.com'}

You can use list comprehension to get the first entry from the value lists;您可以使用列表理解从值列表中获取第一个条目;

dd = dict(request.POST)
ddnew = {k:dd[k][0] for k in dd}

You may try this你可以试试这个

my_dict = dict(request.POST)
my_dict = {k: v[0] for k, v in my_dict.items()}
print(my_dict)

Assume for all dictionary values are lists that only has one element.假设所有字典值都是只有一个元素的列表。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM