如何检查一个列表中某些数字的平方是否在第二个列表中

How do I check whether squares of certain numbers in one list are in the second

所以,我在 codewars 练习中偶然发现了一个问题,目前我一直在研究如何实际检查另一个列表中的方块。

我通过了一些测试,但是当我实际尝试提交它时,它会引发某些错误,并且测试返回 False。

import math
def comp(array1, array2):
    **if array1 == []:
        return False
    if array2 == []:
        return False
    for i in range(len(array1)):
        promenljiva = array1[i * i]
        if promenljiva in array2:
            return True
            break

    for j in range(len(array2) - 1):
        promenljiva_1 = math.sqrt(array2[j])
        if promenljiva_1 not in array1:
            return False
        elif promenljiva_1 != array1[0]:
            return False
            break

这是我的代码,所以如果有人可以帮助我,我会很高兴! :) P.S。 Promenljiva 实际上只是变量的塞尔维亚语术语:)

如果数组 1 中的所有项目**2 都在数组 2 中,这将 return 为真。否则,它将 return 为假。但是,如果 array2 中有其他值,它仍然 return 为真。

def comp(array1, array2):
    results = []
    for i in array1:
        if i*i in array2:
            results.append(True)
        else:
            results.append(False)
    if False in results:   #if any squares are not in array2, return False
        return False
    else:
        return True