Python:从列表中删除项,但返回一个新的Lis

2024-10-01 13:25:44 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有从一个列表中删除一个项目,这样我就返回一个没有被移除元素的新列表?在

例如, 如果我有一个列表[a,b,c,d,e],那么list.newRemove(a)=[b,c,d,e]。在

我想用这样的方式来创建一个函数:

func(element, list.newRemove(element))

这样我就能做到

^{pr2}$

它将通过a和{}

我知道我可以通过将元素和整个列表传递给函数,然后在没有传递元素的函数中创建一个新的子列表来做到这一点。不过,我觉得按我要求的方式做会更好。在

这仅仅是一种根本上不是Python的方式吗?我学会了用函数式语言编程,旧习惯很难改掉。在

编辑:错误地写了set而不是list

编辑2:下面是一个我最终想做的事情的例子:

myList=['a','b','c','d']

对于myList中的元素: 功能(元件,我的列表.newRemove(元素)

Where函数在元素和列表中的其余元素之间进行计算。在


Tags: 项目函数语言元素编辑列表编程方式
3条回答
def newListRemove(element, list):
  list.remove(element)
  return list

list = [1,2,3,4]
print(removeFromList(2, list))
print(list)

这应该是你需要的。在

我想这是你的意思,但我不确定。在

def newRemove(element, x):
    x.remove(element)
    return element, x

print(newRemove("a", ["a", "b","c", "d"]))

返回:

^{pr2}$

希望这有帮助。在

没有内置函数来执行您所要求的,您必须创建一个。在

如果你想找到一个你不记得调用了什么或者不知道它是否存在的函数,那么就给你一个小提示:键入list.而不是你要编辑的列表,而是按字面上的list.并点击tab,这样就可以调出所有可以编辑列表的函数。它们中的大多数都是不言自明的,但通过反复试验很容易弄明白它们是怎么做的。在

希望这对您今后的编码工作有所帮助

像这样?在

def newListRemove(element, list): return element, filter(lambda x: x != element, list)

list = [1,2,3,4]
print removeFromList(2, list)
print list

退货

^{pr2}$

相关问题 更多 >