Python - 列表推导在分配给静态变量时会导致NameError

时间:2016-12-09 10:57:52

标签: python python-3.x list-comprehension

我正在尝试从两个单独的列表中创建所有字符串组合的列表。这是我的代码:

class Function:
    all_prefixes = ['arc', 'inv', 'inverse']
    all_sin = ['sin', 'sine']
    all_asin = [x+y for x in all_prefixes for y in all_sin]

这会产生:

Traceback (most recent call last):
  File "test", line 1, in <module>
    class Function:
  File "test", line 6, in Function
    all_asin = [x+y for x in all_prefixes for y in all_sin]
  File "test", line 6, in <listcomp>
    all_asin = [x+y for x in all_prefixes for y in all_sin]
NameError: name 'all_sin' is not defined

当代码移入初始化程序而不是变量是静态时,会出现同样的问题。当代码不在类中时不会发生。当我使用Python 2.7.12运行代码时,我没有这个问题。我目前正在使用Python 3.5.2。 帮助将非常感激,因为这是一个学校项目,我不能继续,而不是想出这个。谢谢您的帮助。

0 个答案:

没有答案