我对list.remove
很熟悉,它会通过删除传递的元素的第一个实例来改变列表,如果元素不存在,就会产生一个值错误。你知道吗
我要找的是一个函数,它不改变列表,而是返回一个没有给定元素的列表副本。所以,比如说
l = [1,2,3]
l.remove(2)
我会执行
l = [1,2,3].remove(2)
这样做的目的是使将这种类型的逻辑放入dict定义中变得简单一点。因此,而不是:
l = [1,2,3]
l.remove(2)
d = {
'theList': l
}
我只是
d = {
'theList': [1,2,3].remove(2)
}
这样的功能存在吗?你知道吗
请注意,我只想删除有问题的值的第一个实例,而不是所有实例,因此[x for x in [1,2,3] if x != 2]
并不是我想要的。虽然我不确定是否有一个列表理解的方法来做到这一点。你知道吗
这种方法对于
list
类型不存在。你知道吗不过,您可以通过先复制列表、删除元素并返回新列表来编写它。你知道吗
代码
示例
你能做到:
您可以使用
index
:或作为功能:
相关问题 更多 >
编程相关推荐