【问题标题】:Python remove items from a list of lists i.e. remove items from sublistsPython 从列表列表中删除项目,即从子列表中删除项目
【发布时间】:2022-12-20 13:14:55
【问题描述】:

我有一个列表列表,我希望从各个列表中删除项目。示例列表如下:

List = [[461, 'N', 'N', 547], [549, 'N', 'N', 623], [926, 'N', 'N', 'N', 'N', 1099], [1101, 'N', 'N', 'N', 'N', 1262], [1638, 'N', 'N', 'N', 'N', 1795], [1797, 'N', 'N', 'N', 'N', 1942], [2279, 'N', 'N', 2357], [2359, 'N', 'N', 2425], [2686, 'N', 'N', 2764], [2766, 'N', 'N', 2832], [3099, 'N', 'N', 3182], [3184, 'N', 'N', 3254], [3333, 'N', 'N', 3403], [3405, 'N', 'N', 3475], [3564, 'N', 'N', 3642], [3644, 'N', 'N', 3710]]

什么是删除所有“N”的方法,使得结果列表为:

[[461, 547], [549, 623], [926, 1099], [1101, 1262], [1638, 1795], [1797, 1942], [2279, 2357], [2359, 2425], [2686, 2764], [2766, 2832], [3099, 3182], [3184, 3254], [3333, 3403], [3405, 3475], [3564, 3642], [3644, 3710]]

目前,各个列表将始终以整数开头和结尾。中间将是“Y”和“N”的组合。我已经完成了一些逻辑过滤,现在需要简化列表以仅包含数字。

我尝试过列表推导,但没有成功。我还尝试实现一个函数来递归替换字母,但我试图实际删除未替换的项目(请参阅:https://stackoverflow.com/a/13782720/20786144)。

【问题讨论】:

    标签: python


    【解决方案1】:
    [[i for i in subl if i != "N"] for subl in List]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-08
      • 2011-03-18
      • 2011-01-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多