有沒有辦法從列表中刪除一個項目,以這種方式返回一個沒有刪除元素的新列表?Python:從列表中刪除一個項目,但返回一個新列表
例如, 如果我有一個列表[a,b,c,d,e]
,然後list.newRemove(a)
= [b,c,d,e]
。
我想這樣做的,我可以創造一個功能這樣的方式:
func(element, list.newRemove(element))
,這樣我可以做
func(a, list.newRemove(a))
這將通過a
和[b,c,d,e]
我知道我可以通過將元素和整個列表傳遞給函數,然後在函數中創建一個新的subList而不使用傳入的元素來完成此操作。但是,我覺得按照我的要求去做會更好。
這是否只是一個基本上不pythonic方式做到這一點?我學會了用功能語言進行編程,並且老習慣也很難實現。
編輯:誤寫成集,而不是名單
EDIT2:這裏是我最終想要做一個例子:
myList中= [ '一', 'B', 'C',」 d']
爲元件在myList中: 功能(元件,myList.newRemove(元件)
凡函數不會在元件和在列表中的元素的其餘部分之間的計算
我不知道我完全理解這個問題。究竟是什麼問題? – timgeb
listcomp:'[x for x in l if x!= a]'也許 –
@ Jean-FrançoisFabre:這將刪除所有實例...問題有點不確定... –