无法在python的代码中找到错误的原因

时间:2014-08-28 20:13:49

标签: python hashmap

我是Python的初学者,通过艰难的学习Python学习。

不幸的是,我一直收到错误但不知道为什么。

以下是代码:

def new(num_buckets=256): # Creates list aMap and fills it with 256 empty lists.
    """ Initializes a Map with the given number of buckets."""
    aMap = []
    for i in range(0, num_buckets):
        aMap.append([])
    return aMap

new()
print aMap

奇怪的是,我一直收到一条消息说即使我刚刚运行了一个函数来创建一个列表中的一堆空桶,也没有定义aMap。

感谢您的帮助。

1 个答案:

答案 0 :(得分:7)

new() 返回 aMap,但您从未将其存储在任何地方。你想要:

aMap = new()

一般来说,除非您明确说明(通过globalnonlocal 1 语句),否则名称仅存在于定义它的范围内。在这种情况下,名称aMap仅存在于函数new中。要使该名称存在于函数外部,您需要为其指定一些内容。

1 仅限Python3.x