PYTHON 2.7 - 在二维阵列中同时评估两个值

时间:2016-04-26 01:18:39

标签: python-2.7 loops multidimensional-array

我有一个如下所示的数组:

myarray = array([[Me, False], [Me, True], [Partner, False], [Me, True], [Me, False],[Me, True],[Partner, True]])

我尝试做的是每次[Me,True]出现时启动计数器并具有该计数器增量,直到[Partner,True]或[Partner,False]出现在数组中。每次这个计数器遇到[Me,True]并因此重置时,我打算将它添加到另一个变量中以保持总和。

如果total_counter = 0且temp_counter = 0,

在上面的示例中,由于[Me,True]出现在[Partner,False]之前,temp_counter将增加到1,然后在遇到[Partner,False]并重置为0时添加到total_counter。

现在total_counter = 1,temp_counter = 0

当接下来显示[Me,True]时,temp_counter会在遇到[Partner,True]并重置为0并且total_counter = 4之前达到3。

我给你这一切只是为了提供上下文,但我的问题是在我的代码的开头:

for x,y in myarray:
    if x == "Me":
        print x,y
        temp_counter = temp_counter + 1

[Me, False]
[Me, True]
etc

这很好用。但是如果我做的话

for x,y in myarray:
    if x == "Me" and y == "True":
       temp_counter = temp_counter + 1 
       print x,y

似乎根本没有触发。是否存在关于for循环评估这种情况的方式,使得它...只看x两个" Me"和"真"或者其他的东西?任何解释都会非常感激!

-Mano

1 个答案:

答案 0 :(得分:1)

此:

2016-04-26

必须删除if x == "Me" and y == "True": 周围的引号。在Python中,布尔值和字符串不等价。