Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-Count number of rows/columns值显示在_Python - Fatal编程技术网

Python-Count number of rows/columns值显示在

Python-Count number of rows/columns值显示在,python,Python,假设我有一个二维字符串数组,如下所示: A = [['a', 'b', 'b'], ['c', 'c', 'a'], ['d', 'c', '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_numbe

假设我有一个二维字符串数组,如下所示:

A = [['a', 'b', 'b'],
     ['c', 'c', 'a'],
     ['d', 'c', '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),所以速度非常慢。任何更快的解决方案都将不胜感激。

如果包含该字符的数组数增加,您可以使用以下
get\u number\u rows()
方法求和:

A = [['a', 'b', 'b'],
     ['c', 'c', 'a'],
     ['d', 'c', 'a']]

def get_number_rows(char):
    return len([x for x in A if char in x])

get_number_rows('a')
>> 3

get_number_rows('b')
>> 1

get_number_rows('c')
>> 2

get_number_rows('d')
>> 1

对于行,请尝试以下操作

len([x for x in A if 'a' in x])

此列表理解列出了
a
中满足
'a'条件的所有
x
列表。然后根据列表的长度计算出它们的总数。

谢谢你,我还是有点难以理解列表!
if __name__ == "__main__":
    A = [['a', 'b', 'b'],
         ['c', 'c', 'a'],
         ['d', 'c', 'a']]

    def get_number_rows(A, desired_element):
        """
        Pass in two dimensional array, A as first parameter
        Pass in desired char element, desired_element as 2nd parameter.
        Function will return number of occurrences of desired_element in A.
        """

        element_count = 0  # Int to keep track of occurrences
        for group in A:  # For nested array in A
            if desired_element in group:  # If our desired element is in the sub array
                element_count += 1  # Increment our counter
        return element_count  # After completion, return the counter

    print(get_number_rows(A, 'a'))

    print(get_number_rows(A, 'b'))

    print(get_number_rows(A, 'c'))

    print(get_number_rows(A, 'd'))