We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

How to sort anything

Formal Metadata

Title
How to sort anything
Subtitle
Keeping your data organized with "sorted" and custom functions
Title of Series
Number of Parts
130
Author
License
CC Attribution - NonCommercial - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
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.