计算数组中的元素

时间:2018-03-25 16:46:21

标签: arrays python-3.x counting

我有一个包含字符串元素的数组:

farm = np.array(garden)

导致这个:

[['F' 'F' 'W' 'W']
 ['F' '_' '_' 'W']
 ['G' '_' '_' 'J']
 ['G' 'G' 'J' 'J']]

我想算一下我们说“F”出现的次数,是否有一种简单的方法可以做到这一点?这是我将要处理的更大阵列的一个小版本

3 个答案:

答案 0 :(得分:2)

编辑: 列表有计数方法。所以你的新的和改进的pythonic代码是

D= sum([i.count("F") for i in listX])

那么你可以做一个功能 检查传递给它的参数是否在数组中。您甚至可以使用列表推导。例如

F = sum([sum([1 for i in j if i=="f"]) for j in listX])

答案 1 :(得分:1)

迈克尔的解决方案是#pythonic",但我想提供一种使用更简单的结构的替代解决方案,以防您只是在学习:

<?php
$var1 = "Hello";
$var2 = "hello";
if (strcasecmp($var1, $var2) == 0) {
    echo '$var1 is equal to $var2 in a case-insensitive string comparison';
}
?>

答案 2 :(得分:0)

You could also try to reduce and join the elements of the arrays into a string and then count, like so:

from functools import reduce
a = [['F' 'F' 'W' 'W'], ['F' '_' '_' 'W'], ['G' '_' '_' 'J'], ['G' 'G' 'J' 'J']]
c = ''.join(reduce(list.__add__, a)).count('F')
print(c)

When executed, this code prints:

3