I teach computer science to undergrads and write for The Renegade Coder. I'm most likely taking care of my daughter, watching the Penguins, or reading manga.
Location
Columbus, Ohio
Education
B.S. in CE from CWRU 2016; M.S. in CSE from OSU 2020; PhD in EED from OSU 2024
Define "better off." Using itemgetter is definitely another way to do it, but it's almost exactly the same as the lambda option. Likewise, I could have also written a function of my own to pass as the key.
Of course, I'm happy to add itemgetter as another option if you want.
itemgetter is faster than using lambda specifically because all the operations are performed on the C side. I should have clarified when I made my response. Thanks for the shoutout!
I teach computer science to undergrads and write for The Renegade Coder. I'm most likely taking care of my daughter, watching the Penguins, or reading manga.
Location
Columbus, Ohio
Education
B.S. in CE from CWRU 2016; M.S. in CSE from OSU 2020; PhD in EED from OSU 2024
You don't need to use
lambdahere at all. In fact you would be better off usingitemgetterfrom theoperatormodule in the standard library.Define "better off." Using
itemgetteris definitely another way to do it, but it's almost exactly the same as the lambda option. Likewise, I could have also written a function of my own to pass as the key.Of course, I'm happy to add
itemgetteras another option if you want.EDIT: I added your example to the article.
itemgetteris faster than usinglambdaspecifically because all the operations are performed on theCside. I should have clarified when I made my response. Thanks for the shoutout!Thanks for the clarification! I wasn't aware of that. The article has been updated to include a note about performance.