Как я могу передать элемент из итерируемого списка из функции sort () в аргумет key в str.replace method?

class Beverage:
    def __init__(self, ingredients: list):
        self.ingredients = ingredients

    def get_cost(self):
        ingredients = self.ingredients
        sort = list(filter(lambda tup : tup[0] in ingredients, prices.items()))
        self.cost = sum([tup[1] for tup in sort])
        return f'${self.cost:.2f}'

    def get_price(self):
        return f'${self.cost * 2.5:.2f}'

    def get_name(self):
        ingredients = self.ingredients
        ingredients.sort()
        ingredients.append('Smoothie') if len(ingredients) == 1 else ingredients.append('Fusion')

        # How can i change this code?:

        ingredients = list(map(lambda ingredient: ingredient.replace('berries', 'berry'), ingredients))

        # i want this:

        # ingredients = sorted(ingredients, key=str.replace(ingredients.getitem(?...?), 'berries', 'berry'))

        # it's possible?

        return ' '.join(ingredients)

b = Beverage(['Banana', 'Mango', 'Raspberries'])
print(b.get_cost())
print(b.get_price())
print(b.get_name())

Ответы (0 шт):