在Python模块中初始化静态列表的最佳方法

时间:2014-03-21 16:17:56

标签: python list python-2.7 static

我有两个Python模块:user.py和lib.py. lib.py包含以下列方式编写并从user.py模块调用的某些函数:

def foo1():
    pass

def foo2():
    pass

def foo3():
    pass

现在我想在lib.py模块中添加一个静态字符串列表,以便lib.py模块中的所有函数都可以使用它们。我想以下列方式严格初始化字符串列表:

string_list = []
string_list.append('string1')
string_list.append('string2')
string_list.append('string3')
string_list.append('string4')

实现这一目标的最恐怖的方法是什么?是否有可能做这样的事情才能正常工作?

string_list = []
string_list.append('string1')
string_list.append('string2')
string_list.append('string3')
string_list.append('string4')

def foo1():
        print string_list[0]

    def foo2():
        print string_list[1]

    def foo3():
        print string_list[2]

2 个答案:

答案 0 :(得分:7)

只需使用Python列表文字:

string_list = ['string1', 'string2', 'string3', 'string4']

如果您所做的只是创建预定大小和内容的列表,则无需拨打list.append() 4次。

答案 1 :(得分:1)

在这种情况下,您还可以使用合成...

stringList = ['string'+str(i+1) for i in range(4)]