История изменений
Исправление Bad_ptr, (текущая версия) :
def set(list):
def inner_set(acc, list):
if [] == list or None is list:
return acc
head = list[0]
rest = list[1:]
if head not in rest:
acc.append(head)
return inner_set(acc, rest)
return inner_set([], list)
Что-то типа такого. А теперь гуру питона, расскажите как это переписать на ленивых генераторах, без рекурсии.
Исправление Bad_ptr, :
def set(list):
def inner_set(acc, rest):
if [] == rest or None is rest:
return acc
head = rest[0]
if head not in rest[1:]:
acc.append(head)
return inner_set(acc, rest[1:])
return inner_set([], list)
Что-то типа такого. А теперь гуру питона, расскажите как это переписать на ленивых генераторах, без рекурсии.
Исходная версия Bad_ptr, :
def set(list):
def inner_set(acc, rest):
if [] == rest or None == rest:
return acc
head = rest[0]
if head not in rest[1:]:
acc.append(head)
return inner_set(acc, rest[1:])
return inner_set([], list)
Что-то типа такого. А теперь гуру питона, расскажите как это переписать на ленивых генераторах, без рекурсии.