Django:为什么'Class'对象不可迭代
我创建了一个字典列表,像这样:
lst = [{'name': nameobj, Classobj1: "string", Classobj2: "string"}, \
{'name': nameobj, Classobj1: "string", Classobj2: "string"}]
然后我在使用:
for dic in lst:
for k,v in dic: # here is the line has probloem! What it happens?
#process
但是出现了一个错误信息,内容是“类名”对象不可迭代。
4 个回答
0
试着使用
for dic in lst:
for key in dic.keys():
/* process dic[key] */
1
你需要使用 dic.iteritems()
。
5
遍历字典的时候,其实只是遍历字典的键,而不是键值对。所以在这一行
for k,v in dic:
Python 只拿到了一个键,比如 Classobj1,然后试图把它拆分成两个部分,去匹配元组 k,v。因为 Classobj1 不能被遍历,所以它无法拆分成两个项目,这就是你会看到这个错误的原因。
如果想要遍历键值对,可以使用 items() 或 iteritems():
for k,v in dic.items():