Reuven Lerner - How to sort anything

Conference: EuroPython 2020

Year: 2020

"How to sort anything EuroPython 2020 - Talk - 2020-07-24 - Microsoft Online By Reuven Lerner Sorting is one of those things that we take for granted in Python. The built-in ""sorted"" function knows how to sort any iterable of objects that are themselves sortable. But hiding behind that simple description is a great deal of depth. In this talk, I'll go deep into what it means to sort, and how we can sort any collection of Python data. We'll see how you can use custom functions to sort built-in data structures in new and interesting ways. And we'll see how you can design your own custom classes such that they will sort in just the way you want. After watching this talk, you'll have a better understanding of sorting, built-in data structures, function objects, and how ""magic methods"" affect the our Python classes. Moreover, you'll be able to write clearer, shorter, and more easily understood code. Topics I'll address in this talk: ""sorted"" and Timsort Sorting a list of simple structures Reversing the direction with ""reverse"" Custom sorting with ""key"" Stable sort Sorting a list of dicts Using ""lambda"" Using operator.itemgetter Sorting a list of named tuples Sorting a list of objects Making your object sortable The functools.total_ordering decorator This is an intermediate-level talk; I'll assume that anyone attending knows how to write functions, classes, and methods. License: This video is licensed under the CC BY-NC-SA 3.0 license: https://creativecommons.org/licenses/by-nc-sa/3.0/ Please see our speaker release agreement for details: https://ep2020.europython.eu/events/speaker-release-agreement/ "