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

Python 如何计算二维数组中包含某个字符串的元素数?,python,arrays,sum,checksum,Python,Arrays,Sum,Checksum,我有一个二维数组,如下所示: [[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]中),以及[bbb-1-2,dfs-3-4,bbb-a-9,yui-5-t]中的“bbb”的和 在这个例子中,和应该是3+2=5,我只知道如何计算两个数组之间完全相同

我有一个二维数组,如下所示:

[[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]
中),以及
[bbb-1-2,dfs-3-4,bbb-a-9,yui-5-t]中的“bbb”的和


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

对于一个通用解决方案,其中您有n个前缀对应于n个子列表,您可以使用
枚举
找出您所在的子列表,并查找要使用的适当前缀,然后对测试进行求和:

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

如果您有更多的子列表和Sting,您只需添加到前缀列表。

我看不出有什么问题。只需分别计算每个总数,然后将它们相加。你说你知道如何做第一部分。是否有更复杂的事情,比如搜索字符串是动态的,或者顶级数组中的元素数是可变的?我不知道你是如何得到3+2=5的,也不知道你到底想实现什么。请提供更多详细信息。在第一个1D数组中,有三个元素包含“aaa”,在第二个1D数组中,有两个元素包含“bbb”