Chris Padilla/Blog

You can follow by RSS! (What's RSS?) Full posts list here.

    Faber – The Medieval Piper

    Listen on Youtube

    Been enjoying sightreading short and sweet 5-finger pieces like this.

    Desk Dino

    🦖

    A study of my destop companion 🦖

    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

    Listen on Youtube

    Enjoying the space of these chords 😌

    Sunset Foliage

    Loooove these brush strokes

    An outdoor study