On 11/02/2019 10:10, Alan Gauld via Tutor wrote: >> def minhash(s, prime=4294967311): >> vec = [float('inf') for i in range(N)] >> >> for val in s: >> if not isinstance(val, int): val = hash(val) >> >> for perm_idx, perm_vals in enumerate(perms): >> a, b = perm_vals >> output = (a * val + b) % prime >> if vec[perm_idx] > output: >> vec[perm_idx] = output >> >> return vec > > Notice that the last if statement appears to > be incorrectly indented. But that may just be an > email glitch...
I just noticed that the return statement appears to be inside the outer for loop so that loop will only run once. -- Alan G Author of the Learn to Program web site http://www.alan-g.me.uk/ http://www.amazon.com/author/alan_gauld Follow my photo-blog on Flickr at: http://www.flickr.com/photos/alangauldphotos _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor