from functools import reduce numbers = [2, 3, 4, 5] # Produkt berechnen result = reduce(lambda x, y: x * y, numbers, 1) print("Produkt:", result) assert result == 120 # Verhalten bei einer leeren Liste: # Ohne Startwert (initializer) wirft reduce() einen TypeError: "reduce() of empty sequence with no initial value". # Behebung: Der optional paramter initializer=1 sorgt dafür, dass bei einer leeren Liste das neutrale Element 1 zurückgegeben wird. empty_list = [] result_empty = reduce(lambda x, y: x * y, empty_list, 1) assert result_empty == 1