将字典值转换为列表在函数中不起作用
Convert dictionary value into list does not work in a function
这可以在没有函数的情况下工作。
v = list(dic.values()) # V is a list.
但是如果我把它放在一个函数中,例如:
def test(list):
result={}
for i in l:
result[i]=result.get(i,0)+1
v = result.values()
return list(v)
l=[1,2,1,1,3,3,5,5,5,5,5,3,7]
print(test(l))
它引发错误,
Traceback (most recent call last):
File `repNone.py`, line 83, in <module>
print(test(l))
File "`repNone.py`", line 81, in test
return list(v)
TypeError: 'list' object is not callable
永远不要使用Built-in Function (比如list
)作为变量,你使用list
作为变量
在您的函数中,您将 l
作为名称为 list
的变量传递,然后当您使用 list(v)
时出现错误,因为您无法调用变量。
你这样做了:
>>> def test(list):
...
... return list(v) # <- got error because here list is variable and you call this.
像这样更改您的代码:
>>> def test(lst):
...
... return list(v)
这可以在没有函数的情况下工作。
v = list(dic.values()) # V is a list.
但是如果我把它放在一个函数中,例如:
def test(list):
result={}
for i in l:
result[i]=result.get(i,0)+1
v = result.values()
return list(v)
l=[1,2,1,1,3,3,5,5,5,5,5,3,7]
print(test(l))
它引发错误,
Traceback (most recent call last):
File `repNone.py`, line 83, in <module>
print(test(l))
File "`repNone.py`", line 81, in test
return list(v)
TypeError: 'list' object is not callable
永远不要使用Built-in Function (比如list
)作为变量,你使用list
作为变量
在您的函数中,您将 l
作为名称为 list
的变量传递,然后当您使用 list(v)
时出现错误,因为您无法调用变量。
你这样做了:
>>> def test(list):
...
... return list(v) # <- got error because here list is variable and you call this.
像这样更改您的代码:
>>> def test(lst):
...
... return list(v)