16 lines
553 B
Python
16 lines
553 B
Python
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 |