计算2D数组Python中特定元素数量的简单方法

Simple way to count number of specific elements in 2D array Python

本问题已经有最佳答案,请猛点这里访问。

我正在寻找一种方法来计算我正在使用的二维数组中特定字符的实例数。例如,当我打印出数组时,它可能如下所示:

1
[['.', '.'], ['.', 'R']]

偶尔这个数组会大得多,我正在寻找一个很好的方法来获取"r"之类的实例的数量,这样我就可以在将来的if语句中使用它。提前谢谢。


更简明的方法是:

1
2
def countChar(char, list):
    return sum([i.count(char) for i in list])

这不需要是一个函数,您可以这样使用它:

1
2
test=[['x','r','a'],['r','t','u'],['r','r','R']]
sum([i.count('r') for i in test])

返回4。


除非我完全误解了你的问题,否则这应该很适合你。

1
2
3
4
5
def count_chars(char, list):
    count = 0
    for element in list:
        count += element.count(char)
    return count

我相信有一种更有效的方法可以做到这一点,但我会把它留给你去探索;)