【问题标题】:Match array values with array values in multi-dimensional array将数组值与多维数组中的数组值匹配
【发布时间】:2018-04-24 07:25:58
【问题描述】:

我有 2 个数组:

  1. [1, 2, 3, 4, 5]
  2. [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

有没有一种方法可以使用 Python 在包含第一个数组的值的第二个数组中找到子数组的数量?

对于上述内容,它将是2

【问题讨论】:

  • @AlexandreAlencar 不仅仅是一个元素的存在

标签: python arrays arraylist multidimensional-array


【解决方案1】:

是的,对于第一个数组中的每个元素,您必须检查它是否在第二个数组的子数组中。
但是,这样做效率很低,因此您可以这样进行:

对于 second 中的每个子数组,检查它是否包含 First 的任何元素,如果是,则在 count 中加一,然后检查下一个子数组。

first = [1, 2, 3, 4, 5]
second = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

matches = 0
for sub in second:
    for elt in sub:
        if elt in first:
            matches += 1
            break

print(matches)

【讨论】:

    【解决方案2】:

    你可以试试这个:

    s = [1, 2, 3, 4, 5]
    a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
    final_val = len([i for i in a if any(b in s for b in i)])
    

    输出:

    2
    

    【讨论】:

      猜你喜欢
      • 2020-05-29
      • 2016-06-26
      • 2012-04-24
      • 1970-01-01
      • 2021-03-30
      • 1970-01-01
      • 2021-05-26
      • 2012-08-06
      • 2012-06-15
      相关资源
      最近更新 更多