Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法创建用于比较的列表_Python_List - Fatal编程技术网

Python 无法创建用于比较的列表

Python 无法创建用于比较的列表,python,list,Python,List,我在Python方面有问题 def Square_Check (arr1, arr2): if(len(arr1) != len(arr2)): return false; Frequency_Counter1 = () Frequency_Counter2 = () for value in Frequency_Counter1 : Frequency_Counter[value] = (Frequency_Counter[val

我在Python方面有问题

def Square_Check (arr1, arr2):
    if(len(arr1) != len(arr2)):
        return false;
    Frequency_Counter1 = ()
    Frequency_Counter2 = ()
    for value in Frequency_Counter1 :
        Frequency_Counter[value] = (Frequency_Counter[value] or 0)+1
    for value in Frequency_Counter :
        Frequency_Counter[value] = (Frequency_Counter[value] or 0)+1
    print(Frequency_Counter)
    print(Frequency_Counter)

    for key in Frequency_Counter:
        if !(key in Frequency_Counter):
            return false
        if(Frequency_Counter[key**2] != Frequency_Counter[key]):
            return false
    return true

Square_Check([3,2], [2,3])
第一个是
AttributeError:“list”对象没有属性“len”
。第二个是
if!(输入频率计数器):
无效

如果我有
平方检查([3,2],[4,9])
,频率计数器1应该存储3和2(各一次),然后我将其与[4,9]进行比较,看看2和3的平方是否存储在arr2中

使用频率计数器,我应该得到列表中每个字符的出现次数

以下是我应该得到的:

Square_Check([3,2], [2,3])
{3: 1, 2: 1}
{2: 1, 3: 1}
False

Square_Check([3,2], [4,9])
{3: 1, 2: 1}
{4: 1, 9: 1}
False

Square_Check([3,2], [2,9])
{3: 1, 2: 1}
{2: 1, 9: 1}
若第二个列表包含第一个列表中项目的平方值,那个么我应该得到True

你能帮我吗


提前感谢

在Python中,布尔值以大写字母开头(False和True)。 还有,这个!符号需要替换为“非”

def方形检查(arr1、arr2):
如果(len(arr1)!=len(arr2)):
返回false;
arr1Sorted=已排序(arr1)
arr2Sorted=已排序(arr2)
对于索引,枚举中的值(arr1Sorted):
如果(值**2!=arr2Sorted[index]):
打印(“假”)
返回错误
打印(“真实”)
返回真值
方形方格([3,2],[4,9])
def方形检查(arr1、arr2):
如果(len(arr1)!=len(arr2)):
返回false;
freqCount1={}
freqCount2={}
对于arr1中的值:
freqCount1[value]=\u getDictValue(freqCount1,value)+1
对于arr2中的值:
freqCount2[value]=\u getDictValue(freqCount2,value)+1
打印(频率计数1)
打印(频率计数2)
对于freqCount1.keys()中的键:
如果(freqCount1[键]!=\u getDictValue(freqCount2,键**2)):
打印(“假”)
返回错误
打印(“真实”)
返回真值
def_getDictValue(dict,key):
如果(未输入dict):
返回0
返回指令[键]
方格检查([3,2],[2,3])
方形方格([3,2],[4,9])

平方检查([3,2],[2,9])
哪一行给出了
AttributeError:'list'对象没有属性'len'
?第二行。第二行没有抛出任何错误,请检查谢谢。您能告诉我为什么输出是
()()
,好像输入是空的吗?您可以遍历空的frequencyCounter1和2。->在“for”s中没有发生任何事情。之后,打印频率计数器,该计数器继续为空。第6行至第9行应增加频率计数器。我该怎么做?你想做什么?我编辑它来澄清它。我希望
Square\u Check([3,2],[2,3])
返回
False
(第二个列表不存储第一个列表元素的平方,但是
Square\u Check([3,2],[4,9])
应该返回
True