30 Python Language Features and Tricks You May Not Know About
pythonidiomscollectionsitertoolstricks
Abstraction: Catalog of Python idioms covering unpacking, collections, and itertools
Key points:
- Unpacking tricks: tuple assignment swap (
a, b = b, a), extended unpacking with star (a, *b, c = [...]) in Python 3, named slices viaslice() collectionsmodule:namedtuple(inheritable),Counterfor multisets and most-common queries,dequewithmaxlenfor sliding windows,defaultdictfor auto-initialized treesitertoolstoolkit:productfor Cartesian products,combinations,permutations,chain.from_iterablefor flattening,groupbyfor keyed aggregation- Generator expressions are lazy and composable; dictionary comprehensions invert or transform dicts concisely
- Sliding n-grams via
zipwith offset iterators:zip(*(islice(a, i, None) for i in range(n))) heapq.nlargestandheapq.nsmallestefficiently find top-k elements without full sort
Connections: Python Programming ยท Functional Programming
Source: http://sahandsaba.com/thirty-python-language-features-and-tricks-you-may-not-know.html