Skip to content
Advertisement

Python Try Catch Block inside lambda

Is it possible to use try catch block inside of a lambda function. I need the lambda function to convert a certain variable into an integer, but not all of the values will be able to be converted into integers.

Advertisement

Answer

Nope. A Python lambda can only be a single expression. Use a named function.

It is convenient to write a generic function for converting types:

JavaScript

Then you can write your lambda:

JavaScript

You could also write tryconvert() so it returns a function that takes the value to be converted; then you don’t need the lambda:

JavaScript

Now tryconvert(0, int) returns a function convert_0_int that takes a value and converts it to an integer, and returns 0 if this can’t be done. You can use this function right away (not saving a copy):

JavaScript

Or save it to call it later:

JavaScript
User contributions licensed under: CC BY-SA
2 People found this is helpful
Advertisement