Python 一次使用所有数组值?
好的,我想要的是使用所有的数组值,检查这些值中是否有一个是真的。以下是我的想法:Python 一次使用所有数组值?,python,python-2.7,Python,Python 2.7,好的,我想要的是使用所有的数组值,检查这些值中是否有一个是真的。以下是我的想法: testArray = [1532,1542,1151] myArray = [2532,1897,1151,2654] if testArray == any(myArray): ##Then checks what value made the statement true 我试过了,但没用。所以我希望你们对如何解决我的问题有任何想法。谢谢 对于这种特殊情况 if 1151 in myArray:
testArray = [1532,1542,1151]
myArray = [2532,1897,1151,2654]
if testArray == any(myArray):
##Then checks what value made the statement true
我试过了,但没用。所以我希望你们对如何解决我的问题有任何想法。谢谢 对于这种特殊情况
if 1151 in myArray:
这是最简单的
对于比简单等式更一般的情况,any
内置函数可能会有所帮助——例如,与上述函数等效的函数是:
if any(x == 1151 for x in myArray):
但是,您可以在通用的
x
上执行一些不同的检查,而不仅仅是=
检查,因为它会逐步检查列表中的项目。对于这种特殊情况
if 1151 in myArray:
这是最简单的
对于比简单等式更一般的情况,any
内置函数可能会有所帮助——例如,与上述函数等效的函数是:
if any(x == 1151 for x in myArray):
但是,您可以在通用
x
上执行一些不同的检查,而不仅仅是=
检查,因为它会逐步检查列表中的项目。您可以找到使该语句为真的值,如果有的话,如下所示:
testArray = [1532,1542,1151]
myArray = [2532,1897,1151,2654]
value = next((t for t in testArray if t in myArray), None)
if value is not None:
print('found value {}'.format(value)) # --> found value 1151
您可以通过以下内容找到使该语句为真的值(如果有):
testArray = [1532,1542,1151]
myArray = [2532,1897,1151,2654]
value = next((t for t in testArray if t in myArray), None)
if value is not None:
print('found value {}'.format(value)) # --> found value 1151
您让它像这样迭代
如果有(对于myArray中的项,item==1151):
您让它像这样迭代如果有(对于myArray中的项,item==1151):
是否有任何方法可以实际检查是什么值使语句为真?@RepeaterScreeper使用any
时不是完全干净的,它只返回true或False,但也有其他选择——也许最好在单独的Q中探索,具体取决于您想要什么,例如,isitthere,where=
您想要什么?(在这里解释没有用,请在下一个问题中解释!)好的,我会这么做的。:)哦,顺便提一下,我还有最后一个问题要问你。如果使用2个阵列,情况是否不同?例如:如果testArray中的myArray:
@RepeaterCreeper,是的,完全不同——在列表中,中的检查单个项目,而不是子数组(字符串和c不同)。有没有办法实际检查是什么值使语句为真的?@RepeaterCreeper没有以完全干净的方式使用any
,它只返回true或False,但也有其他选择——也许最好在单独的Q中探索,具体取决于您想要什么,例如,isitthere,where=
您想要什么?(在这里解释没有用,请在下一个问题中解释!)好的,我会这么做的。:)哦,顺便提一下,我还有最后一个问题要问你。如果使用2个阵列,情况是否不同?例如:如果testArray中的myArray:
@RepeaterCreeper,是的,完全不同——在列表中,中的检查单个项目,而不是子数组(字符串和c不同)。