У меня есть этот кусок кода:Любой способ понять в понимании dict в понимании dict это?
position = {}
for x in range(imdim[0]-shapesize+1):
for y in range(imdim[1]-shapesize+1):
curim = im[x:x+shapesize,y:y+shapesize]
shapedict = {}
for shapeid,(shape,contour) in enumerate(zip(shapes,contours)):
values = {}
curshape = curim[shape]
curcontour = curim[contour]
values['meandiff'] = curshape.mean()-curcontour.mean()
values['maxmin'] = int(curshape.min())-int(curcontour.max())
shapedict[shapeid] = values
position[(x,y)] = shapedict
return position
... где им это изображение (NumPy массив), imdim его формы, формы и контуры список двоичных массивов меньших размеров (shapesize * shapesize), чем я.
Это действительно работает, но мне интересно, есть ли способ написать все это в понимании dict, стиле начала. Если да, будет ли он работать быстрее?
Кроме того, любые комментарии по стилю или оптимизации приветствуются!
https://www.python.org/dev/peps/pep-0020/ -> показатель удобочитаемости. Если код работает и читается (я могу догадаться, что он делает), почему вы хотите сделать его менее читаемым? – Jasper
Я думал, что соображения понимания были заметно быстрее, чем классические для петель. Видимо, я был неправ. – nicoco