【问题标题】:Extract a list from a multidimensional list从多维列表中提取列表
【发布时间】:2020-02-07 13:28:58
【问题描述】:

我是 Python 新手,我尝试了很多组合,但我没有得到正确的解决方案。 我在列表中有一个列表:

AnimalLarge = ['Animal', 'Large', 20,30]
AnimalSmall = ['Animal', 'Small', 20,10]
HumanLarge = ['Human',' Large', 1, 2]
HumanSmall = ['Human', 'Small', 2, 2]
List = [AnimalLarge, AnimalSmall, HumanLarge, HumanSmall]
Search1 = 'Animal'
Search2 = 'Small'
ResultShouldBe = AnimalSmall

如果我有例如变量“Animal”和“Small”,然后我想让程序“找到”正确的组合“AnimalSmall”,其中包含“Animal, Small, 20, 10”。 我知道如何“手动”读出列表列表或从列表中读出单个参数,但我有兴趣读出列表中的列表(带有定义的字符串)。我用“for”和“in”和索引做了很多试验,但都没有意义,所以我没有在这里发布。 你能给我一个提示,如何结合这个?抱歉,我确实花了很长时间才弄明白...

【问题讨论】:

    标签: python list multidimensional-array


    【解决方案1】:

    非常感谢!!!

    (现在看起来很简单,但我真的无法管理正确的语法,尽管查看了网络上的大量文档和论坛)

    【讨论】:

      【解决方案2】:

      你可以使用 for 循环:

      for l in List:
          if Search1 in l and Search2 in l:
              result = l
              break
      

      或列表推导:

      result = [l for l in List if Search1 in l and Search2 in l][0]
      print(result)
      

      输出:

      ['Animal', 'Small', 20, 10]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-15
        • 2020-08-10
        • 1970-01-01
        相关资源
        最近更新 更多