Ad
  • Custom User Avatar

    Nice, no dubplicates of the conditions

  • Custom User Avatar

    Hi @Rockkley.

    Lambdas are anonymous callable objects. If you want call it later, you must use a variable, no other choice to do that. And here (in codewars) if there no name, unit test cannot check the solution.

    For your information, in python, a def (and so, a fonction) defined like that create a variable:

    def foobar(): pass
    

    The variable created is foobar, the proof, you can do that:

    def foobar(): pass
    foobar = 1234
    

    It's the aim of the mechanism under the concept of decorators.

    If you prefer i can use these solutions instead of lambda, the solution will be acepted:

    # Common accepted solution
    def check(s, e): return e in s
    
    # Another solution
    def singleton(c): return c()
    @singleton
    class check:
      def __call__(self, s, e):
        return e in s
    
  • Custom User Avatar

    I know that lambda is anonymous function, and there's no need to create variable for lambda, but here we need to meet the interface requirements. Requirement here is that check is callable.

    In real world I would not create function for this one liner, that's why I'm showing solution with lambda.

  • Custom User Avatar

    variable "check" holds the function. and ambda describes the oneliner function.

    mult = lambda a,b:a*b

    is the same as

    def mult(a,b):
    return a*b

  • Custom User Avatar

    What do you mean? Do you know how lambdas work? Do you know you can copy the code and make trials on your own to understand how it works? On your own computer, or just here, by clicking on Forkjust below any solution.

  • Custom User Avatar

    Why creating a variable for lambda?