KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have a list of lists: lst = [[567, 345, 234], [253, 465, 756, 2345], [333, 777, 111, 555]] I want map lst into another list containing only the second smallest number from each sublist. So the result should be [345, 465, 333] . If I were just interested in the smallest number, I could write this as map(lambda x: min(x), lst) . To get the second smallest numbers, I thought of sorting and then indexing the results, like map(lambda x: sort(x)[1], lst) ; however, sort returns None rather than chaining . If it were possible to use multiple statements in a lambda , I could write map(lambda x: sort(x); x[1], lst) , but this is not allowed. Can I use map to solve the problem without defining a named function? How?
Tags (comma-separated)
Save Edits
Cancel