Python填充一个包含来自另一个modu的变量的列表

2024-04-25 06:16:46 发布

您现在位置:Python中文网/ 问答频道 /正文

在Python中,有没有一种方法可以不用手动将模块中的变量编译成列表?在

例如:

#catName.py
cat1 = "toby"
cat2 = "bill"
cat3 = "sally"
catList = [cat1,cat2,cat3]

#printCatNames.py
import catName
for names in catName.catList:
    print names

我要做的(使用上面的例子)是在调用模块catName时自动填充catList。如果有人能为我指出正确的方向,我将不胜感激。在


Tags: 模块方法py列表names手动sally编译成
3条回答

你的问题有点令人困惑,但我想你的答案可能是:

>>> from catName import catList

这将允许您:

^{pr2}$
import  catName

n [3]: [v for k,v in catName.__dict__.items() if not k.startswith("__")]
Out[3]: ['toby', 'sally', 'bill']

我个人会坚持手工填写名单。在

cat1 = "toby"
cat2 = "bill"
cat3 = "sally"
catList = [v for k, v in vars().items() if k.startswith('cat')]

不过,通常最好只显式地编写列表

^{pr2}$

或者,对于更长的列表

^{3}$

相关问题 更多 >