2015-08-20 198 views
0

我试图在一整天内找不到这个问题的答案,所以我希望能够快速得到答案。例如,我有一个3x3矩阵,其数字不同,我想检查数字是否在另一个数组中。Python3.4:检查矩阵中的每个元素是否在另一个阵列中

例如我们有矩阵:

a=([7,8,10], 
    [4,2,2], 
    [12,10,10]) 

而且我们要测试是否所有的元素有这个数组中的元素:

g = [-3,0,2,4,7,10,12] 

这人会因为返回False 8排在第一排。

我已编程此代码到目前为止。

 for i in range(rows): 
      for j in range(col): 
       print(a[i][j]) 
       if matf[i][j] in g: 
        #Dont know what to do here 
        return True 
       else: 
        return False 

希望你们能帮助

+0

顺便说一句MATF =在基体上 –

回答

0

你的问题是,你正在使用的if壳体内的return声明。这意味着在检查初始值之后,该功能将不在该功能之中return。相反,请使用continue

 for i in range(rows): 
      for j in range(col): 
       print(a[i][j]) 
       if matf[i][j] in g: 
        continue 
       else: 
        return False 
     return True 
+0

我试过,由于某种原因它变为假。它与将矩阵转换为列表的csv文件有关吗? –

+0

@MartinMansour快速的问题,你为什么要打印一个[i] [j],但随后与matf [i] [j]比较。没有更多关于这两件事情的背景,我无法帮助你。当你打印它显示你期望它的价值? –

相关问题