при добавлении в список значения int возвращается None
надо написать функцию, которая принимает список из чисел и возвращает словарь, где ключ - хеш-значение объекта, а значение сам объект. причем если в списке объекты повторяются, значение по ключу должно быть в виде списка. для примера код: print (hash_as_key( [1, 2, 3, 4, 5, 5, 5] )) должен возвращать {1: 1, 2: 2, 3: 3, 4: 4, 5: [5, 5, 5]}
почему то d = t.append(objects [i] ) возвращает None вместо списка, кто сталкивался с таким? в чем дело???
def hash_as_key(objects):
list_hash = [hash(i) for i in objects]
res_dict= dict()
for i in range(len(list_hash)):
try:
t = res_dict[list_hash[i]]
if type(t) == int:
res_dict[list_hash[i]] = [t, objects[i]]
if type(t) == list:
d = t.append(objects[i])
print(d)
# -----> None
res_dict[list_hash[i]] = d
except:
res_dict[list_hash[i]] = objects[i]
return(res_dict) ```
Источник: Stack Overflow на русском