Добрый день, помогите поправить часть кода. Нашел библиотеку но она была написана для второго питона, ругается на строку с лямбда-выражением.
def avhash(im):
if not isinstance(im, Image.Image):
im = Image.open(im)
im = im.resize((8, 8), Image.ANTIALIAS).convert('L')
avg = reduce(lambda x, y: x + y, im.getdata()) / 64.
return reduce(lambda x, (y, z): x | (z << y),
enumerate(map(lambda i: 0 if i < avg else 1, im.getdata())),
0)
Ошибка
Traceback (most recent call last):
File "tt.py", line 27, in <module>
hash1 = avhash(img1)
File "tt.py", line 11, in avhash
return functools.reduce(lambda x, y, z: x | z << y, enumerate(map(lambda i: 0 if i < avg else 1, im.getdata())),0)
TypeError: <lambda>() missing 1 required positional argument: 'z'