【发布时间】:2023-10-26 06:31:01
【问题描述】:
我想写一个函数,可以用同样的方式迭代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 + ","
注意:此函数的输入是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
【问题讨论】:
-
列表是否也会有两个元素元组?
-
旁白:
iter是方便的 built-in function 的名称,因此对于您自己的变量之一来说不是一个好名称。 -
是的。事实上,当我有两个函数分别处理 list 和 dict 时,它就起作用了。
标签: python list dictionary