Reduce() ve lambda fonksiyonları
Lambda fonksiyonlarını kullanmada epey ustalaştın! Becerilerine eklemen için bir fonksiyon daha var. reduce() fonksiyonu, bir listede bazı hesaplamalar yapmak için kullanışlıdır ve map() ve filter()'dan farklı olarak tek bir değer döndürür. reduce()'u kullanmak için functools modülünden içe aktarman gerekir.
Birkaç egzersiz önceki gibberish()'i hatırlıyor musun?
# Define gibberish
def gibberish(*args):
"""Concatenate strings in *args together."""
hodgepodge = ''
for word in args:
hodgepodge += word
return hodgepodge
gibberish() basitçe bir string listesini argüman olarak alır ve tek değerli bir sonuç olarak bu string'lerin tümünün birleştirilmiş halini döndürür. Bu egzersizde, aynı işlevi reduce() ve string'leri birleştiren bir lambda fonksiyonu kullanarak yeniden oluşturacaksın.
Bu egzersiz, kursun bir parçasıdır
Python'da Fonksiyonlara Giriş
Egzersiz talimatları
functoolsmodülündenreducefonksiyonunu içe aktar.reduce()çağrısında, iki string argümanıitem1veitem2alan ve onları birleştiren bir lambda fonksiyonu ile string listesini,stark'ı geçir. Sonucuresultdeğişkenine ata.reduce()için ilk argüman lambda fonksiyonu, ikinci argüman isestarklistesidir.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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)