代码之家  ›  专栏  ›  技术社区  ›  Martin Kunze

Python:选择列表中的位置

  •  0
  • Martin Kunze  · 技术社区  · 4 年前

    我有一个包含此类数据的列表:

    data = [[[1], 1, "A", [1,2], "ab"],
            [[2], 2, "B", [2,1], "bc"],
            [[2], 2, "C", [2,1], "bc"]]
    

    他们在python中是一个简单的方法来获取所有元素的子列表吗?这些元素完全满足了一些特定的条件,例如,获取第三个元素等于“a”的所有元素?更一般的是,它们是在列表列表中传递select where语句的一种方式吗?

    1 回复  |  直到 4 年前
        1
  •  3
  •   mozway    4 年前

    使用列表理解:

    [l for l in data if l[2] == 'A']
    

    输出:

    [[[1], 1, 'A', [1, 2], 'ab']]
    
        2
  •  2
  •   csgn    4 年前
    list(filter(lambda x: x[2] == 'A', data)
    

    输出:

    [[[1], 1, 'A', [1, 2], 'ab']]