Python 无法创建用于比较的列表
我在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
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
。