Maybe count the number of occurrences of each item in the set of the list:
def issublist(lin, lout):
inset = set(lin)
for item in inset:
if lin.count(item) > lout.count(item):
return False
return True
I think it works, at least for your test cases.