fbpx

The Top 18 Best Python Tricks

What are the coolest Python tricks? I’ve compiled this list of the best Python tricks—in reverse order. Without further introduction, let’s dive into those incredibly cool Python features, tricks, and functions:

18. map(func, iter)

Executes the function func on all elements of the iterable iter.

list(map(lambda x: x[0], ['red', 'green', 'blue']))
# ['r', 'g', 'b']

17. map(func, i1, ..., ik)

Executes the function func on all k elements of the k iterables.

list(map(lambda x, y: str(x) + ' ' + y + 's' , [0, 2, 2], ['apple', 'orange', 'banana']))
# ['0 apples', '2 oranges', '2 bananas']

16. string.join(iter)

Concatenates iterable elements iter separated by string.

' marries '.join(list(['Alice', 'Bob']))
# 'Alice marries Bob'

15. filter(function, iterable)

Filters out elements in iterable for which function returns False (or 0).

list(filter(lambda x: True if x>17 else False, [1, 15, 17, 18]))
# [18]

14. string.strip()

Removes leading and trailing whitespaces of string.

print("    \n   \t  42  \t ".strip())
# 42

13. sorted(iter)

Sorts iterable iter in ascending order.

sorted([8, 3, 2, 42, 5])
# [2, 3, 5, 8, 42]

12. sorted(iter, key=key)

Sorts according to the key function in ascending order.

sorted([8, 3, 2, 42, 5], key=lambda x: 0 if x==42 else x)
# [42, 2, 3, 5, 8]

11. help(func)

Returns documentation of func.

help(str.upper())
# '... to uppercase.'

10. zip(i1, i2, ...)

Groups the k-th elements of iterators i1, i2, … together.

list(zip(['Alice', 'Anna'], ['Bob', 'Jon', 'Frank']))
# [('Alice', 'Bob'), ('Anna', 'Jon')]

9. Unzip

Equal to: 1) unpack the zipped list, 2) zip the result.

list(zip(*[('Alice', 'Bob'), ('Anna', 'Jon')]))
# [('Alice', 'Anna'), ('Bob', 'Jon')]

8. enumerate(iter)

Assigns a counter value to each element of the iterable iter.

list(enumerate(['Alice', 'Bob', 'Jon']))
# [(0, 'Alice'), (1, 'Bob'), (2, 'Jon')]

7. Start a web server

Want to share files between PC and phone? Run this command in PC’s shell. <P> is any port number 0–65535. Type <IP address of PC>:<P> in the phone’s browser. You can now browse the files in the PC directory.

python -m http.server <P>

6. Read comic

Open the comic series xkcd in your web browser.

import antigravity

5. Zen of Python

Get valuable advice of how to write Pythonic code.

import this
# '...Beautiful is better than ugly. Explicit is ...'

4. Swapping numbers

Swapping variables is a breeze in Python. No offense, Java!

a, b = 'Jane', 'Alice'
a, b = b, a
# a = 'Alice'
# b = 'Jane'

3. Unpacking arguments

Use a sequence as function arguments via asterisk operator *. Use a dictionary (key, value) via double asterisk operator **.

def f(x, y, z): 
   return x + y * z
f(*[1, 3, 4])
f(**{'z' : 4, 'x' : 1, 'y' : 3})
# 13
# 13

2. Extended Unpacking

Use unpacking for multiple assignment feature in Python.

a, *b = [1, 2, 3, 4, 5]
# a = 1
# b = [2, 3, 4, 5]

1. Merge two dictionaries

Use unpacking to merge two dictionaries into a single one.

x={'Alice' : 18}
y={'Bob' : 27, 'Ann' : 22}
z = {**x,**y}
# z = {'Alice': 18, 'Bob': 27, 'Ann': 22}

Did you like these tricks? Register for my 5x Python Cheat Sheet Course to get more! 🙂

Leave a Comment

Your email address will not be published. Required fields are marked *