keys = [1,2,3,5,6,7,8,9]
squares_dict = {key: None for key in keys}
def box_number(my_dict,xmax,ymax,xmin,ymin,key):
ra = Rectangle(float(xmax),
float(ymax),
float(xmin),
float(ymin))
# print(area(ra, Rectangle(float(my_dict[key][2][0]),float(my_dict[key][3][0]),0,0)))
if area(ra, Rectangle(float(my_dict[key][2][0]),float(my_dict[key][3][0]),0,0)) == area(ra,ra):
squares_dict[1].append(key,xmax,ymax,xmin,ymin)//This line
我遇到的问题与共享代码的最后一行有关,我得到的错误是squares_dict[1].append(key,xmax,ymax,xmin,ymin)
AttributeError: 'NoneType' object has no attribute 'append'
必须将“无”更改为适当的值。 例如,请尝试定义的变量或字符串/整数,而不是“无”
您的所有值都是dict中的
None
。您可以创建空列表作为值。你知道吗或者更好的办法是,摆脱创建并使用
defaultdict
所以第一次,如果dict中没有键,
defaultdict
会创建一个新的空列表。你知道吗然后,您必须附加一个
tuple
,而不是几个值(append
只接受一个参数):squares_dict = {key: None for key in keys}
意味着squares_dict
持有键,每个键的值是None
,这反过来意味着squares_dict[1]
是None,NoneType
没有append属性相关问题 更多 >
编程相关推荐