Custom formatting of axis display value with python function

I want to format my Y-axis tick text with a custom function that takes the Y value and returns a custom string. It seems that you cannot pass your own python functions to tickformat.

I would to do something like:
tickformat = custom_function(y_value)

It seems like I could do it using tickvals and ticktext but then I would have to supply my own Y values which I don’t want. I would have to write a whole script to write Y values that fit with my data. I would like to use the default Y values and format them and then output them to my ticktext. Would like like this.

ticktext = list(map(custom_function,y_value_list))

Is it possible to use the default tickvals somehow and create a custom ticktext from that?