加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 如何在列表的组合列表中删除列表的特定元素?

发布时间:2020-12-20 11:08:49 所属栏目:Python 来源:网络整理
导读:我试图找到一种方法来检查包含特定元素的其他几个列表的列表并删除它. 所以基本上我有2个列表(a和b),它们组合在另一个列表中(c) a= ["aa","bb"]b= ["aa","dd"]c=[a,b] 现在我试图删除名为“aa”的所有元素 c.remove("aa") 遗憾的是,这不起作用,我得到错误“V
我试图找到一种方法来检查包含特定元素的其他几个列表的列表并删除它.

所以基本上我有2个列表(a和b),它们组合在另一个列表中(c)

a= ["aa","bb"]
b= ["aa","dd"]
c=[a,b]

现在我试图删除名为“aa”的所有元素

c.remove("aa")

遗憾的是,这不起作用,我得到错误“ValueError:list.remove(x):x not in list”因为“aa”在c中没有字面提到.

最后,我还要打印出c中的所有列表以及它们包含的内容.像这样的东西:

c= a: bb,b: dd

>有没有办法用一个命令删除几个列表中的元素,就像我尝试将它们组合在另一个列表中?
>我怎样才能打印出类似于上面描述的列表c?

解决方法

您可以使用列表理解:

a = ['aa','bb']
b = ['aa','dd']
c = [a,b]

c = [[x for x in sublist if x != 'aa'] for sublist in c]

此解决方案将删除所有’aa’元素,而常规for循环中的list.remove(‘aa’)将仅删除每个子列表中的第一个匹配项.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读