ARH*_*ARH 1 python dictionary list
我想编写一个可以迭代dict并list以相同方式迭代的函数,如下面的代码.但是,它不起作用,并指责iter不是迭代器.
def constructResult(*args):
header = ''
result = ''
for arg in args :
if isinstance(arg, dict) :
iter = arg.items; #arg is a dict
else:
iter = arg #arg is a list
for (key,value) in iter :
header = header + key + ","
Run Code Online (Sandbox Code Playgroud)
注意:此函数的输入是dict或list.这是一个假设.
这是错误消息:
File "./write-hole-collector.py", line 595, in constructResult
for (key,value) in iter :
TypeError: 'builtin_function_or_method' object is not iterable
Run Code Online (Sandbox Code Playgroud)
您需要调用的dict.items()方法:
iter = arg.items() #arg is a dict
Run Code Online (Sandbox Code Playgroud)
否则你确实会得到一个异常,告诉你方法本身不可迭代:
>>> d = {}
>>> for key, value in d.items: # not called
... pass
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'builtin_function_or_method' object is not iterable
Run Code Online (Sandbox Code Playgroud)
这是因为通过不调用该方法,您试图迭代方法对象,该方法对象不支持该操作.
| 归档时间: |
|
| 查看次数: |
3435 次 |
| 最近记录: |