亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將元素添加到已存在的元素而不是覆蓋列表中的它們?

如何將元素添加到已存在的元素而不是覆蓋列表中的它們?

汪汪一只貓 2023-09-19 17:36:37
我這里有這個代碼:def alist():    wor = []    definition = []    wele = str(input("Enter a word: "))    dele = str(input("Enter a definition: "))    x = wor.append(wele)    y = def.append(dele)    print("Words' List: ", wor, "\nDefinitions' List: ", definition)每當我運行它時,我都可以將元素添加到列表中,wor但是def,每當我再次運行它時,它都會覆蓋我之前第一次運行它時添加的元素。wor我通過將和轉換為全局變量來避免這個問題def。除了將兩個列表設為全局變量之外,還有其他方法嗎?
查看完整描述

2 回答

?
至尊寶的傳說

TA貢獻1789條經驗 獲得超10個贊

每次調用該函數時,您都會創建新的空列表。該函數應將列表作為參數并修改它們。


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)

設置列表參數允許您擁有多個單詞列表,例如


spanish_words = []

spanish_defs = []

alist(spanish_words, spanish_defs)

然而,將相關數據保存在單獨的列表中通常是糟糕的設計,您必須保持同步。最好使用單個字典或元組列表,這樣所有相關項(例如單詞及其定義)都放在一起。


查看完整回答
反對 回復 2023-09-19
?
莫回無

TA貢獻1865條經驗 獲得超7個贊

當您附加到列表時,您將其分配給新變量 x 和 y,但您永遠不會對這些變量執行任何操作。wor并且def永遠不會改變。實際上,您不必分配append()給新變量,它會就地發生。


如果您希望兩個列表在每次調用函數時始終保留它們所包含內容的內存,那么您應該在函數范圍之外定義它們,否則每次調用函數時都會將它們重新啟動為空列表。


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)


查看完整回答
反對 回復 2023-09-19
  • 2 回答
  • 0 關注
  • 123 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號