About using Lambda with Multiple statements

can someone explain this code about creating two lambda functions and then calling the other lambda function as a parameter to the first function,

List = [[2,3,4],[1, 4, 16, 64],[3, 6, 9, 12]]

##Sort each sublist
sortList = lambda x: (sorted(i) for i in x)

##Get the second largest element
secondLargest = lambda x, f : [y[len(y)-2] for y in f(x)]
res = secondLargest(List, sortList)


output:----- [3, 16, 9]

I dont get what f(x) is