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分配给一对空括号?我知道的愚蠢问题,但我不确定...... 另外,如果可能的话,我如何应用一个元组代替一个列表?
答案 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上的数据类型,所以下一次在文档上搜索它。