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

基于过滤器从python列表中删除元素

发布时间:2020-12-20 13:01:40 所属栏目:Python 来源:网络整理
导读:我在 Python中有3个列表. list_a = [10.,20.,30.,12.]list_b = [30.,60.,12.]list_c = [10.,80.,90.,12.] 我想删除list_b和list_c中的那些元素,其中list_a中的值是 = 15.因此结果变为: list_b = [20.,60.]list_c = [80.,90.] 有没有办法在没有循环的情况下
我在 Python中有3个列表.

list_a = [10.,20.,30.,12.]
list_b = [30.,60.,12.]
list_c = [10.,80.,90.,12.]

我想删除list_b和list_c中的那些元素,其中list_a中的值是< = 15.因此结果变为:

list_b = [20.,60.]
list_c = [80.,90.]

有没有办法在没有循环的情况下做到这一点? (列表理解还可以)

解决方法

你可以写一个单行来过滤列表,使用 zip()作为:

list_b,list_c = zip(*[(b,c) for a,b,c in zip(list_a,list_b,list_c) if a>15])

list_b和list_c持有的最终值将是:

>>> list_b
(20.0,60.0)
>>> list_c
(80.0,90.0)

(编辑:李大同)

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

    推荐文章
      热点阅读