这是我的清单
A = [32,33,34,35,36,37,38,39,40,41,42]
B = [0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0]
C = [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0]
D = [1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1]
这里,列表B中的值应为0,列表C中的值应为0,列表D中的值应为1如果是这样,则将其通过,否则将失败。如您所见,列表B索引2的值为1,因此失败,因为列表C索引1的值为1而不是0,列表D索引3,4的值为2而不是1。我已经为此编写了代码,但是打印了多次]
我要检查3个列表的相同索引值
like
B[0] = 0,B[1]=0
C[0] = 0,C[1]=1
D[0] = 1,D[1]=1
您可以在第一次迭代中看到正确的值,但是在第二次它在C中失败,因为第二个索引值是1而不是0。像这样,我想检查所有3个列表。
我的代码-:
comment = "Wrong Signal in "
for first1 in A:
idx_val = A.index(first1)
if (B[idx_val] != 0):
comment = comment + 'B'
if C[idx_val] != 0:
comment = comment + 'C'
if D[idx_val] != 1:
comment = comment + 'D'
print comment
Output-'Wrong Signal in B,C,D,D,B
但是我期望这样的输出
Output- 'Wrong Signal in B,C,D
还有另一个示例,如果B列表的所有值均为零,并且C,D在任何索引中的值均错误,则应打印]
output -'Wrong Signal in C,D
先谢谢您
这是我的列表A = [32,33,34,35,36,37,38,39,40,41,42] B = [0,0,1,0,0,0,0,0, 1,0,0] C = [0,1,0,0,0,0,0,0,0,0,0] D = [1,1,1,2,2,1,1,1,1, 1,1,1]在此,在列表B中的值...
找到第一个实例后,您需要退出循环。因此,您必须检查0是否仅在一次内。您可以简单地问“如果B中为0”。然后您就可以退出了,因为您不想知道0在B中的次数。
只需使用all
谓词: