如何解决python 2d列表删除目标
vals = [[2,2,2],[2,3],3,4]]
targets = [2]
def remove_vals(vals,targets):
lst = []
for lst_ in vals:
for x in lst_:
if x not in targets:
lst.append(x)
return lst
解决方法
列表理解在这里会更简单。在这种情况下,您将需要一个嵌套列表理解来保留输入列表的嵌套结构:
[[i for i in l if i not in targets] for l in vals]
# [[],[3],[3,4]]
如果要使用常规的for循环,可以执行以下操作:
lst = []
for lst_ in vals:
new_l = []
for x in lst_:
if x not in targets:
new_l.append(x)
lst.append(new_l)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。