如何在python中将字符串转换为字典?

时间:2016-01-05 12:18:57

标签: django python-2.7

我有一个字符串:

a = subteam3=zzz&comments3=good&subteam9=yyy&comments9=bad

从Ajax传递到Django:

a = request.POST.get('a')

我已完成a = urllib2.unquote(a)将其转换为正确的字符串。

我想将其转换为2个词典:

subteam = { 3 : zzz, 9 : yyy }

comments = { 3 : good, 9 : bad } 

任何人都可以给我一个解决方案吗?

3 个答案:

答案 0 :(得分:0)

request.GETa = request.POST.get("a", None); if a: print a else: print "no a" 已经是dicts(实际上是dict)。

检查文档的这一部分:

https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpRequest.POST

他们的行为就像这个对象,来自Django docs:

https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.QueryDict

你可以这样做:

.face_dropcap_ {
    font-size: 3em; 
    font-family: Palatino,serif;
    font-weight: normal;
    line-height: 100%;
    float: left; 
    margin-right: 5px; 
    text-align: center;
    font-style: normal;
}

    <l rend="indent"> <span type=".face_dropcap_">C</span><hi rend="initial_roman">E</hi>stoit alors que le prefent des Dieux</l>

如果你需要处理这些信息,看起来像Django模型,或者其他什么,结帐Django形式。您可以通过POST请求创建一个django表单,无论它是否是AJAX,并让它为您做繁重的工作。

答案 1 :(得分:0)

a = 'subteam3=zzz&comments3=good&subteam9=yyy&comments9=bad'
subteam = {}
comment = {}

for each in a.split('&'):
    if each.startswith('subteam'):
        subteam[each.split('=')[0][-1]]=each.split('=')[1]
    elif each.startswith('comment'):
        comment[each.split('=')[0][-1]]=each.split('=')[1]

答案 2 :(得分:0)

a = 'subteam3=zzz&comments3=good&subteam9=yyy&comments9=bad'
a = a.split('&')
b = dict()
c = dict()

for i in range(0,len(a)):
    if 'subteam' in a[i]:
        temp,temp1 = a[i].strip('subteam').split("=")
        b[temp]=temp1
    else:
        temp,temp1 = a[i].strip('comments').split("=")
        c[temp]=temp1

print b,c