如何解决列表理解Python
问:问。编写函数remove(data,value)
返回一个新列表,该列表包含与列表数据相同的元素,但值相等的元素除外。使用列表理解。您的函数应删除所有等于值的项目。例如,remove([3,1,5,3,9],3)应该返回列表[1,5,9]。
下面是我的工作,但返回None。
def remove (data,value):
ans = [ data.remove(value) for ele in data if value == ele ]
return ans
assert(remove([3,1,5,3,9],1) ==[3,9])
这些应适用于此功能。请让我知道我该怎么办??
解决方法
在遍历列表时不能删除列表中的元素。 创建一个新列表,并保留除与ele匹配的元素以外的所有元素。
def remove(data,value):
ans = [ele for ele in data if value != ele]
return ans
,
这是Remove all occurrences of a value from a list?的副本,但是,我认为您对此问题的解释不充分。
在评论中看到了一些明显的问题,但没有明确回答问题。
-
.remove()
method列表将删除其参数的第一个实例,然后返回None
- 您两者都更改了原始列表并创建了新列表,而只需要按照重复问题中大量答案的详细内容进行操作,就会更好。
def remove(data,value):
return [i for i in data if i != value]
这将正确遍历所有内容。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。