(Python) 为变量分配特定字符在多维数组中出现的次数

(Python) Assigning a variable the count of times a specific character appears in a multi-dimensional array

大家好,

我对 Python 这门语言还很陌生,但对 C# 和 Javascript 有一些经验,所以这可能是一个基本问题。

我正在尝试从数组中确定的起点和终点计算单个字符在多维数组中出现的次数,然后将此计数值分配给变量。例如:

array1 = [['a', 1],['a', 4],['b', 3],['c', 4]]

然后我想分配变量 'x' 像 'a' 这样的字符在数组中从起始位置到数组中的第三个位置出现了多少次。我的尝试是:

x = array1[0:2].count('a')
x = ('a' in array1[0:2]).count
x = count('a', beg= 0, end=2(array1))

我知道解决方案可能会使用索引或类似的东西?我仍然是这门语言的新手,并且在语法上遇到了一些困难,所以如果答案很明显或者我误解了某些东西,我深表歉意

非常感谢任何帮助:)
谢谢

array1 的元素是列表,而不是字符,这就是 none 次尝试成功的原因。您需要测试每个嵌套列表的第一个元素,而不是列表。

x = sum(x[0] == 'a' for x in array1[0:2])

或者您可以提取第一个元素,然后使用 count()

x = list(x[0] for x in array1[0:2]).count('a')

另请注意,在切片中,所选索引不包括切片中的最终索引。 0:2 表示元素 01。所以如果你想要列表的前 3 个元素,它应该是 0:3.

因为 array1 是 lists.You 的数组,应该检查每个列表中 "a" 的出现,直到 array1.

的索引 3

由于您是 python 的初学者,下面是针对您的问题的简单代码。

array1 = [['a', 1],['a', 4],['b', 3],['c', 4]]
count=0
for ele in array1[:3]:
    for ele1 in ele:
        if ele1=="a":
            count+=1
print(count)

输出: 2

第一个for循环从0遍历到2给出数组中的元素

['a',1]
['a',4]
['b',3]

下一个循环获取每个元素并计算 "a" 的值。