Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在mako中检查变量类型?_Python_Mako - Fatal编程技术网

Python 如何在mako中检查变量类型?

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'][

我在mako模板中有一个嵌套的dict,我正在尝试循环遍历它们以打印出它们的密钥

%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