["python","lambda","try-except"]
Python try except block inside lambda

Is it possible to use a try except 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.
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: def tryconvert(value, default, *types): for t in types: try: return t(value) except (ValueError, TypeError): continue return default Then you can write your lambda: lambda v: tryconvert(v, 0, int) You could also write tryconvert() so it returns a function that takes the value to be converted; then you don't need the lambda: def tryconvert(default, *types): def convert(value): for t in types: try: return t(value) except (ValueError, TypeError): continue return default # set name of conversion function to something more useful namext = ("_%s_" % default) + "_".join(t.__name__ for t in types) if hasattr(convert, "__qualname__"): convert.__qualname__ += namext convert.__name__ += namext return convert 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): mynumber = tryconert(0, int)(value) Or save it to call it later: intconvert = tryconvert(0, int) # later... mynumber = intconvert(value)