python - 从元组列表中删除所有零
问题描述
我在 python 中有一个元组列表:
例子 :
lstA = [ (12,0,20,50), (30,70,80,15), (11,12,0,35), (7,6,5,4), (1,0,0,4) ]
我希望在原始列表元组中作为输出,并删除零值。所以对于上面的输入,输出应该是:
lstA = [(12,20,50), (30,70,80,15), (11,12,35), (7,6,5,4), (1,4)]
如何以pythonic方式做到这一点?
解决方案
您可以通过列表压缩传递这些并随时创建新的元组:
lstA = [ (12,0,20,50), (30,70,80,15), (11,12,0,35), (7,6,5,4), (1,0,0,4) ]
cleaned = [tuple(n for n in sublist if n != 0) for sublist in lstA]
# [(12, 20, 50), (30, 70, 80, 15), (11, 12, 35), (7, 6, 5, 4), (1, 4)]
推荐阅读
- php - PHP无法解码ASCII字符
- android - 如何在活动之间传递从内部存储中选择的 ImageView
- ruby - 在 Ruby 程序中出现未初始化的常量错误 - 为什么我不能格式化数字?
- rabbitmq - spring-cloud-stream 兔子活页夹未分区目的地
- c# - 如何分组然后透视数据
- sql - 是否有一个sql查询可以统计特定年份的人数,知道每个人的出生日期和死亡日期?
- javascript - SVG图标上的Onlick可以是路径或svg,如何只制作SVG?
- oop - “严格继承”的例子
- amazon-web-services - 即使 docker 容器正在运行,也无法访问 AWS EC2 实例
- php - 有没有办法根据产品名称在类别页面上隐藏产品?