Leb的答案是正確的錢;請註冊並接受它。
我只想添加關於命名約定的註釋。
在許多編程語言中,變量名稱i
和j
傳統上用於數字循環索引,但不適用於列表或數組中元素的實際值。
例如(雙關語意),如果你正在寫在JavaScript老式for
循環,它可能是這樣的:
var names = [ "Kent", "Leb", "Dalen" ];
for(var i = 0; i < names.length; i++) {
console.log(names[i]);
}
你也可以這樣寫在Python代碼,但因爲你'使用更具表現力的Python for
循環,您可以使用比i
和j
更好的名稱。
由於達倫的評論指出,該名array1
和array2
不匹配的Python術語—但更重要的是,他們沒有說什麼是在這些列表什麼。
在整個過程中使用更多不言自明的變量名是有幫助的。在你的代碼中,這兩個列表是一個單詞列表和一個短語列表,循環中的變量代表單個單詞和單個短語。
我在這裏喜歡的約定是使用複數名稱作爲列表或數組,以及該列表或數組的單個元素的相應單數名稱。
所以,你可以使用的名稱是這樣的:
words = [ "happy", "sad", "good", "bad", "like" ]
phrases = [
"i like starhub",
"i am happy with the starhub service",
"starhub is bad",
" this is not awful"
]
for phrase in phrases:
for word in words:
if word in phrase:
print(word)
你看到多少更加清晰,這使得代碼?而不是i
和j
和array1
和array2
(或list1
和list2
),每個名稱都描述了您正在使用的實際數據。
你在這裏使用的不是數組。這些是列表。 Python中的數組是:「import array; a1 = array.array([1,2,3])」。請修改您的帖子,以免它人混淆。 – Dalen
你是對的,謝謝你提醒我注意。 – Leb
Woops,它的:array.array(「h」,[1,2,3])。對不起,忘了你必須指定類型。 – Dalen