Di seguito è riportata la funzione count_leaf
, che accoda l'elenco mutabile branch_counts
, che non è stateless.
def count_leaf(tree):
if is_leaf(tree):
return 1
branch_counts = list()
for b in tree:
branch_counts.append(count_leaf(b))
return sum(branch_counts)
Di seguito è riportato il programma che utilizza la comprensione degli elenchi.
def count_leaves(tree):
if is_leaf(tree):
return 1
else:
branch_counts = [count_leaves(b) for b in tree]
return sum(branch_counts)
La funzione count_leaves
utilizza la comprensione dell'elenco [count_leaves(b) for b in tree]
puramente funzionale?