(Python)为变量指定特定字符在多维数组中出现的次数 大家好,
我对Python作为一种语言相当陌生,但对C#和Javascript有一些经验,所以这可能是一个基本问题 我试图计算单个字符在多维数组中从数组中确定的起始点和结束点出现的次数,然后将此计数值赋给一个变量。例如:(Python)为变量指定特定字符在多维数组中出现的次数 大家好,,python,arrays,python-3.x,multidimensional-array,counting,Python,Arrays,Python 3.x,Multidimensional Array,Counting,我对Python作为一种语言相当陌生,但对C#和Javascript有一些经验,所以这可能是一个基本问题 我试图计算单个字符在多维数组中从数组中确定的起始点和结束点出现的次数,然后将此计数值赋给一个变量。例如: array1 = [['a', 1],['a', 4],['b', 3],['c', 4]] 然后,我想给变量“x”指定像“a”这样的字符在数组中仅从起始位置到数组中第三个位置出现的次数。我的尝试是: x = array1[0:2].count('a') x = ('a' in arr
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))
我知道解决方案可能会使用索引或类似的方法?我对这门语言还是新手,在语法上有点纠结,所以如果答案显而易见或者我误解了什么,我会道歉
非常感谢您的帮助:)谢谢数组1的元素是列表,而不是字符,这就是为什么您的尝试都不起作用的原因。您需要测试每个嵌套列表的第一个元素,而不是列表
x = sum(x[0] == 'a' for x in array1[0:2])
或者您可以提取第一个元素,然后使用count()
还要注意,在切片中,所选索引不包括切片中的最终索引<代码>0:2表示元素
0
和1
。因此,如果您想要列表的前3个元素,它应该是0:3
,因为array1
是列表的数组。您应该检查“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”
的值。您可能会发现这很有用。另外,“数组中的第三个位置”,你是指外部列表中的第三个列表,还是指整个第三项(即第二个列表中的“a”)@thisisbenmanley我指的是外部列表中的第三个列表,很抱歉混淆了
['a',1]
['a',4]
['b',3]