Python 如何在mako中检查变量类型?
我在mako模板中有一个嵌套的dict,我正在尝试循环遍历它们以打印出它们的密钥Python 如何在mako中检查变量类型?,python,mako,Python,Mako,我在mako模板中有一个嵌套的dict,我正在尝试循环遍历它们以打印出它们的密钥 %for fruit in mydict['fruits']: ${fruit} % for nutrition in mydict['fruits'][fruit]: ${nutrition} % endfor %endfor 我遇到的问题是线路: %mydict['水果][水果]中的营养成分: TypeError:“int”对象不可编辑 如何检查mydict['fruits'][
%for fruit in mydict['fruits']:
${fruit}
% for nutrition in mydict['fruits'][fruit]:
${nutrition}
% endfor
%endfor
我遇到的问题是线路:
%mydict['水果][水果]中的营养成分:
TypeError:“int”对象不可编辑
如何检查mydict['fruits'][fruit]是列表还是int 通常,
mydict['fruits']
是一本字典,而您的fruit
将是关键。将mydict['fruits']
与fruits
类似mydict['fruits'].[fruits]
进行索引将得到单个项目,这显然是一个整数,而不是营养列表。为什么它是整数,是由代码中的其他地方引起的
>>> for fruit in mydict['fruits']:
... print fruit, mydict['fruits'][fruit]
... for nutrition in mydict['fruits'][fruit]:
... print nutrition
...
kiwi 2
Traceback (most recent call last):
File "<stdin>", line 3, in <module>
TypeError: 'int' object is not iterable
mako有没有办法检查一个对象是dict还是object?你能发布你的
mydict
数据结构吗?
>>> for fruit, nutritions in mydict['fruits'].items():
... if isinstance(nutritions, list):
... for nutrition in nutritions:
... print nutrition