这是我的代码。
def areSimilar(item1,item2):
if(len(item1) == len(item2)):
for i in range(len(item1)):
if isinstance(item1[i],list) and isinstance(item2[i],list):
if areSimilar(item1[i],item2[i])==False:
return False
else:
if type(item1[i]) != type(item2[i]):
return False
else:
return False
return True
以下是想要工作的例子。
>>> print(areSimilar(True, False)) #items are same type and are not lists
True
>>> print(areSimilar(1, 'a') #items are different types
False
>>> print(areSimilar([],[]))
True
>>> print(areSimilar([],[3])) #list lengths differ
False
>>> print(areSimilar([3.0],[3])) #lists of same length but index 0 items are not similar
False
>>> print(areSimilar([5],[3])) #lists of same length and corresponding lists items are similar
True
>>> print(areSimilar([1,2,['a','b']],[3,4, [1,2,3]])) #items at index 2 are not similar
False
>>> print(areSimilar([1,2,[False, 'b']],[3, 4, [True, 'hello']]))
True
>>> print(areSimilar([[[[],[2],[],['hi', [0]]]]], [[[[],[-2],[],['bye', [1]]]]]))
True
>>> print(areSimilar([[[[],[2],[],['hi', [0]]]]], [[[[],[-2],[],['bye', 0]]]]))
False
除了前两个,所有的都能工作。我到哪里去了
“TypeError:类型为'bool/int'的对象没有len”
我该如何解决这个问题?
只需添加将类型转换为列表的警卫。
def areSimilar(item1,item2):
if not getattr(item1, '__len__', False):
item1 = [item1]
if not getattr(item2, '__len__', False):
item2 = [item2]
if(len(item1) == len(item2)):
for i in range(len(item1)):
if isinstance(item1[i],list) and isinstance(item2[i],list):
if areSimilar(item1[i],item2[i])==False:
return False
else:
if type(item1[i]) != type(item2[i]):
return False
else:
return False
return True
然而,解决方案看起来很混乱,整体功能设计需要改变。
下面是一节课: 这是我计划的一部分: 但是我在“cr12=cr.weave(cr2)”中得到了一个错误: 对于范围内的i(最小(长度,长度(其他)): TypeError:类型为“CoordinaterRow”的对象没有len()
我得到这个错误: TypeError:类型为“Cursor”的对象没有len() 当我试图执行:
如何修复此错误:typeerror:类型为“generator”的对象没有len()
问题内容: 问题:当我尝试执行脚本时,给出错误消息“ TypeError:类型为’Response’的对象没有len()。我尝试将实际的html作为参数传递,但仍然无法正常工作。 问题答案: 你越来越。但是它以字节(docs)的形式返回响应主体。但是您应该将其传递给BeautifulSoup构造函数(docs)。因此,您需要使用而不是获取内容。
我正在开发一个多类分类问题(4类)的模型使用Keras和Tensorflow后端。的值具有二维格式: -----------------------------------------------------------------------------------------------------------------------------------------------------
问题内容: 我目前收到此错误,不知道是什么意思。它是一个python项目,这是我看到的错误: 代码: 在此先感谢你的帮助! 问题答案: 调用的结果是一个对象,该对象不支持[]运算符()。我想你要 不幸的是,它不是可变的,因此你必须创建另一个变量来保存要对其进行的更改。