我只是測試列表如何在python中工作,我發現它很混亂和令人沮喪。無論出於什麼原因,我的代碼都會收到不斷的錯誤消息。追加到列表中刪除列表中的元素
def listtest(list1,x):
list2 = []
count = 0
for n in list1:
if list1[count] == x:
count += 1
else:
list2 = list.append(list2,list[count])
count += 1
return list2
無論出於何種原因,它要麼告訴我list.append
只接受一個令人困惑的參數。在交互窗口中,我可以使用兩個參數來調用append,例如list.append(list,3)
或其他任何參數,並且它可以完美地工作。我得到的另一個錯誤是
list2 = list.append(list2,list[count])
TypeError: 'type' object has no attribute '__getitem__'
這對我來說完全沒有意義,也沒有任何幫助。我的代碼有什麼問題?爲什麼交互窗口的行爲與其他窗口不同?爲什麼不會像在交互窗口中那樣追加工作?
看來我一次可以追加多個項目。例如,我現在在交互窗口list.appen([1,2,3,4],5) –
@Jordan中執行此操作:您可以通過兩種方式調用許多方法。您可以調用類的方法 - list.append - 並將它作爲第一個參數傳遞給它,如'a = [1,2,3]; b = 4; list.append(a,b)',它會把'a'變成'[1,2,3,4]',或者你可以直接調用實例方法,比如'a = [1,2,3]; b = 4; a.append(4)'。第二個與第一個相同,除了'a'被自動包含在內。你應該很少需要直接使用'list.append'。 – DSM
@Jordan:感謝您的評論,我現在看到了實際問題。我編輯了我的答案。 –