为什么在使用前将变量分配给空括号?

时间:2014-10-29 15:38:21

标签: python variables

def substitute(clues,words): 
    subst_words = [] # <== HERE
    for i in range(len(words)):
            word = words[i]
            for j in range(len(clues)):
                word = word.replace(clues[j][1],clues[j][0])
            subst_words.append(word)
    return subst_words

为什么在使用前将subst_words分配给一对空括号?我知道的愚蠢问题,但我不确定...... 另外,如果可能的话,我如何应用一个元组代替一个列表?

6 个答案:

答案 0 :(得分:3)

空列表用于启动在for循环中完成的追加。然后在结尾返回列表。您可以从循环中收集所有数据并将其附加到空列表中,并在主函数中使用它。

答案 1 :(得分:2)

它只是将subst_words初始化为空列表。由于列表是用Python中的方括号编写的,因此空列表只是[]

你可以写

subst_words = list()

答案 2 :(得分:0)

这表示你有一个空的“列表”而不是任何变量。它还允许您调用特定方法,如代码中使用的.append for subst_words。

答案 3 :(得分:0)

正在将变量初始化为列表。

Uninitialized variables can lead to resource bugs

如果没有宣布它将无法访问。如果它已被声明但初始化为None,则无法在其上使用append函数。

此外,它正在函数的最外层范围内声明。这意味着在函数内进一步嵌套的花括号将有权访问该变量。如果它已在for循环中声明,例如,您将无法从for循环外部访问它。

答案 4 :(得分:-3)

aList = [] # initialises aList to type( aList ) == list

这样python事先就知道这个变量是在列表中输入的,甚至在存储第一个列表项之前

答案 5 :(得分:-3)

设置双括号与设置&#34; list()&#34;

相同

https://docs.python.org/2/library/functions.html#list

编辑:

所以你改变了问题?

1 - 如果您声明一个空列表,那么它将是一个空列表

2 - 如果想要一个包含内容的列表,只需将内容放入

3 - 使用元组:mytuple = ()mytuple = tuple()。它是一回事。

如果您认为答案很愚蠢,请再次阅读该问题。它关于python上的数据类型,所以下一次在文档上搜索它。