Web2py - 在模块之间共享列表

Web2py - Sharing a list among modules

我有一个 id 列表,它是我从数据库插入中获得的,可以发送到其他模块中的其他函数。我有一个主模块说 asd.py 我想与其他两个模块中的函数共享一个列表 id_list : foo.pybar.py 。这很简单:

在asd.py

def asd():
    id_list = list()
    # Some insertion then append id_list
    foo.f1(id_list)
    bar.f1(id_list)

我的问题是 id_list 是按值或引用复制的,假设这是一个非常大的列表。这种方法是 "performance-wise" 吗?

谢谢。

Id_list 是通过引用复制的,尽管可变对象在这方面是一个奇怪的边缘情况。如果foo.f1调用执行了id_list = 7asd函数中id_list的副本不会改变。但是,如果foo.f1调用id_list.append(9)asd函数调用中id_list的末尾会出现一个9。没有隐式复制列表。