如何计算二维数组中包含某个字符串的元素有多少?

How to calculate how many elements which contain a certain string in 2D array?

我有一个这样的二维数组:

[[aaa-1-2,
  aaa-3-4,
  bbb-y-t,
  aaa-5-t],
[bbb-1-2,
  dfs-3-4,
  bbb-a-9,
  yui-5-t]]

我想写一个函数或其他东西来获取包含'aaa'(在[aaa-1-2, aaa-3-4, bbb-y-t, aaa-5-t]中)的元素的总和,以及[=12=中的'bbb'的总和].

在这个例子中,总和应该是3+2=5,我只知道如何计算两个数组之间完全相同元素的总和,但不知道如何解决这个问题,谁能帮我解决这个问题?谢谢。

对于 n 个前缀对应 n 个子列表的一般解决方案,您可以使用 enumerate 来确定您在哪个子列表中并查找要使用的适当前缀,然后对测试求和:

l = [["aaa-1-2", "aaa-3-4","bbb-y-t","aaa-5-t"],
     ["bbb-1-2", "dfs-3-4", "bbb-a-9","yui-5-t"]]

prefix = ['aaa', 'bbb']    
sum(prefix[i] in s for i, sub in enumerate(l) for s in sub)

# 5

如果您有更多的子列表和更多的字符串,您可以直接添加到前缀列表中。