Skip to main content
 首页 » 编程设计

python之为什么 dict.keys 不可迭代

2025年05月04日14zhwl

node_name 是一个字符串。这不应该返回 node_list 字典中可以迭代的键列表吗?为什么报错说它不可迭代?

class Graph: 
 
def __init__(self): 
    self.node_list = {} 
    self.number = 0 
 
def node(self, node_name): 
    if node_name in self.node_list.keys:  
    ... 
 
File "PythonProject2.3.py", line 10, in node 
    if node_name in self.node_list.keys: #returns list of keys 
TypeError: argument of type 'builtin_function_or_method' is not iterable 

请您参考如下方法:

.keys 是一个函数,而不是一个属性。试试这个:

if node_name in self.node_list.keys(): 

默认情况下,字典会遍历它的键,所以这也行得通:

if node_name in self.node_list: