Chris Padilla/Blog
You can follow by RSS! (What's RSS?) Full posts list here.
Faber – The Medieval Piper
Been enjoying sightreading short and sweet 5-finger pieces like this.
Desk Dino
Comparison Sorting in Python
Of all the pages of official docs in Python, the page on sorting by Andrew Dalke and Raymond Hettinger may be my favorite. Clear, gradually continues on in complexity, and provides ample examples along the way.
Here's my situation this week: Simple enough, I needed to sort a list of dictionaries by a property on those dictionaries:
data = [
{
'name': 'Chris',
'count': 5,
},
{
'name': 'Lucy',
'count': 3,
},
{
'name': 'Clyde',
'count': 3,
},
{
'name': 'Miranda',
'count': 10,
},
]
To sort by the count, I could pass a lambda to access the property on the dict:
sorted(data, key=lambda x: x['count'])
Say that the counts are equal as it is with Lucy and Clyde in my example. If so, I would want to sort by the name.
Returning a tuple covers that:
sorted(data, key=lambda x: (x['count'], x['name']))
To reverse the order, there's a named property for that:
sorted(data, key=lambda x: (x['count'], x['name']), reverse=True)
Problem all sorted out!
Jody Fisher – Triad Etude
Enjoying the space of these chords 😌