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

4 投票
2 回答
21919 浏览
提问于 2025-04-17 23:19

我有两个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')

有没有什么最符合Python风格的方法来实现这个?这样做是否可行?

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 个回答

1

在这种情况下,你也可以使用组合的方式...

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

只需要使用Python的列表字面量:

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

如果你只是想创建一个大小和内容都已经确定的列表,就没有必要调用list.append()四次。

撰写回答