这是我想要从元组转换为dict的输出:
(198, [u'http://domain.com', u'http://domain2'])
(199, [u'http://domain3.com/', u'http://www.domain4'])
它应该像:
(198: [u'http://domain.com', u'http://domain2']),
(199: [u'http://domain3.com/', u'http://www.domain4'])
我在for循环中尝试了各种各样的事情:
for item in opa.items():
aa = {(y:[x]) for y,[x] in item}
但总是得到同样的错误:
TypeError:' int'对象不可迭代
更好的解决方案是在"创建输出"(现在使用)
创建dict而不是元组opa = defaultdict(list)
a3 = [model.objects.get(keyword=keyword).url]
for k in a3:
opa[keyword].append(k)
我试过这样的事情,但确实没有添加'要键入的域列表...它只添加了一个:
opa = defaultdict(dict)
a3 = [model.objects.get(keyword=keyword).url] # returns list of urls
for k in a3:
opa[keyword] = [k]
答案 0 :(得分:2)
如果要将表单(键,值)的元组列表转换为字典,可以使用字典理解:
{x:y for (x, y) in tuples}
答案 1 :(得分:-1)
这就是诀窍:
opa = dict(opa)
for item, k in opa.items():
aa = {item:k}