my code:
a=[1,2,3,4]
b=a[:2]
c=[]
c[b]='sss'#error
memoize function:
def memoize(func, cache, num_args):
def wrapper(*args):
mem_args = args[:num_args]#<------this
if mem_args in cache:
return cache[mem_args]
result = func(*args)
cache[mem_args] = result#<-----and this
return result
In the
memoizefunction, I’m assumingcacheis adict. Also, since a is alist, b will also be alist, and lists are not hashable. Use atuple.Try