Python-在函数中调用后永久更新数组

时间:2015-09-22 15:43:47

标签: python arrays

我有一个关于如何在调用函数后更新函数中的字符串的问题。我想在调用函数后保存它。它相当于按下" control + s"在编辑后保存excel文件。以下是示例代码:

def function():
    x=['string'];y=input();x.append(y)

我想要的是:如果我在一个月内调用此功能3次,我想将其读取:x = [' string',input1,input2,input3 ]

目前最多只能存储x 2个值。例如:x = [' string',input1]

据我所知,即使有更新此字符串/函数的方法,我在开始时使用x = [' string']这一事实总是会将x更改为x = [&#39 ;字符串']当我调用它时...是否有内置的方法来执行此操作并让它以我想要的方式更新?

1 个答案:

答案 0 :(得分:0)

将x存储在类或闭包中。您也可能想要返回x,或者您无法检索其值:

def foo():
    x = []
    def bar():
        y = input()
        x.append(y)
        return x
    return bar

b = foo()

# usage
In [8]: b()
aaa
Out[8]: ['aaa']

In [9]: b()
bbb
Out[9]: ['aaa', 'bbb']

In [10]: b()
ccc
Out[10]: ['aaa', 'bbb', 'ccc']