2 回答

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超10個(gè)贊
每次調(diào)用該函數(shù)時(shí),您都會(huì)創(chuàng)建新的空列表。該函數(shù)應(yīng)將列表作為參數(shù)并修改它們。
def alist(wlist, dlist):
wele = input("Enter a word: ")
dele = input("Enter a definition: ")
wlist.append(wele)
dlist.append(dele)
word_list = []
def_list = []
word_count = int(input("How many words are you defining? "))
for _ in range(word_count):
alist(word_list, def_list)
print("Words' List: ", word_list, "\nDefinitions' List: ", def_list)
設(shè)置列表參數(shù)允許您擁有多個(gè)單詞列表,例如
spanish_words = []
spanish_defs = []
alist(spanish_words, spanish_defs)
然而,將相關(guān)數(shù)據(jù)保存在單獨(dú)的列表中通常是糟糕的設(shè)計(jì),您必須保持同步。最好使用單個(gè)字典或元組列表,這樣所有相關(guān)項(xiàng)(例如單詞及其定義)都放在一起。

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊
當(dāng)您附加到列表時(shí),您將其分配給新變量 x 和 y,但您永遠(yuǎn)不會(huì)對(duì)這些變量執(zhí)行任何操作。wor并且def永遠(yuǎn)不會(huì)改變。實(shí)際上,您不必分配append()給新變量,它會(huì)就地發(fā)生。
如果您希望兩個(gè)列表在每次調(diào)用函數(shù)時(shí)始終保留它們所包含內(nèi)容的內(nèi)存,那么您應(yīng)該在函數(shù)范圍之外定義它們,否則每次調(diào)用函數(shù)時(shí)都會(huì)將它們重新啟動(dòng)為空列表。
l1 = []
l2 = []
def alist():
wele = str(input("Enter a word: "))
dele = str(input("Enter a definition: "))
l1.appnd(wele)
l2.append(dele)
print("Words' List: ", l1, "\nDefinitions' List: ", l2)
添加回答
舉報(bào)