假设我有一个二维字符串数组,如下所示:
A = [['a','b','b'],['c','c','a'],['d','a']]
我想找出给定元素出现在多少行中,以便得到输出:
In [1]: get_number_rows('a')
Out[1]: 3
In [2]: get_number_rows('b')
Out[2]: 1
In [1]: get_number_rows('c')
Out[1]: 2
In [2]: get_number_rows('d')
Out[2]: 1
请注意,我不希望出现“ a”的总数,而是希望它出现的行数.
我尝试遍历行并简单地计数,但是我正在处理非常大的数据集(1000s x 1000s),所以它非常慢.任何更快的解决方案将不胜感激.
最佳答案
对于行,请尝试类似
len([x for x in A if 'a' in x])
此列表理解使A中的所有列表x满足满足x中的“ a”的条件的列表.然后,您可以使用该列表的长度来获取它们的总数.