Skip to main content
 首页 » 编程设计

python之Django:为什么 'Class' 对象不可迭代

2025年05月04日33jackei

我建立了一个这样的字典列表

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 

错误信息类似于“类名”对象不可迭代。

请您参考如下方法:

迭代字典只是迭代键,而不是键值对。这样就行了

for k,v in dic: 

Python 只获取一个键,例如 Classobj1,并尝试将其解包以将其与元组 k,v 相匹配。由于无法迭代 Classobj1,因此无法将其解包以匹配两个项目,这就是您收到此错误的原因。

要迭代键值对,请使用 items() 或 iteritems():

for k,v in dic.items():