Это сработало для меня, но вы, вероятно, можете просто сделать это:
def function(a,j,i):
return a[i, j] # None is treated as : in np, so no need to filter for it.
Это получит то, что вы хотели ..
Кроме того, в вашей логике есть ошибка:
if i is not None and j is not None:
return a
Вы имеете в виду
if i is None and j is None:
return a