Reduce() ve lambda fonksiyonları
Lambda fonksiyonlarını kullanmakta çok iyi olmaya başladınız! İşte beceri repertuarınıza ekleyebileceğiniz bir işlev daha. reduce() işlevi, bir liste üzerinde bazı hesaplamalar yapmak için kullanışlıdır ve map() ve filter() işlevlerinin aksine, sonuç olarak tek bir değer döndürür. reduce() adresini kullanmak için functools modülünden içe aktarmanız gerekir.
Birkaç egzersiz öncesinden gibberish() adresini hatırlıyor musunuz?
# Define gibberish
def gibberish(*args):
"""Concatenate strings in *args together."""
hodgepodge = ''
for word in args:
hodgepodge += word
return hodgepodge
gibberish() basitçe bir dizeler listesini argüman olarak alır ve bu dizelerin tümünün birleştirilmesini tek değerli bir sonuç olarak döndürür. Bu alıştırmada, reduce() adresini ve dizeleri bir araya getiren bir lambda işlevini kullanarak bu işlevi kopyalayacaksınız.
Bu egzersiz
Python'da Fonksiyonlara Giriş
kursunun bir parçasıdırEgzersiz talimatları
reduceişlevinifunctoolsmodülünden içe aktarın.reduce()çağrısında,item1veitem2olmak üzere iki dize argümanı alan ve bunları birleştiren bir lambda işlevi geçirin; ayrıca dizelerin listesini de geçirin,stark. Sonucuresultadresine atayın.reduce()adresine ilk argüman lambda fonksiyonu, ikinci argüman isestarklistesi olmalıdır.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Import reduce from functools
# Create a list of strings: stark
stark = ['robb', 'sansa', 'arya', 'brandon', 'rickon']
# Use reduce() to apply a lambda function over stark: result
result = reduce(____, ____)
# Print the result
print(result)