In our last article on compression we showed you how to demonstrate run time encoding in Python. In this article we'll show you how to implement another kind of compression, Huffman encoding, which is useful when dealing with small sets of items, such as character strings.
What idioms should I use to make my code easier to read?
Read "The Python Cookbook", especially the first few chapters.
It's a great source of well-written Python code examples.
Use function factories to create utility functions.
Often, especially if you're using map and filter a lot,
you need utility functions that convert other functions or methods to
taking a single parameter. In particular, you often want to bind some data
to the function once, and then apply it repeatedly to different objects.
In the above example, we needed a function that multiplied a particular field
of an object by 3, but what we really want is a factory that's able to return
for any field name and amount a multiplier function in that family:
Use zip and dict to map fields to names.
zip turns a pair of sequences into a list of tuples containing
the first, second, etc. values from each sequence. For example,
zip('abc', [1,2,3]) == [('a',1),('b',2),('c',3)]. You can use
this to save a lot of typing when you have fields in a known order that
you want to map to names:
Libraries are collection of functions and methods that enable you to perform a wide variety of actions without writing the code yourself.
First of all, there are over 137.000 libraries in Python. In this article we are going to learn :
Scientific Computing Libraries in Python
Visualization Libraries in Python
High-Level Machine Learning and Deep Learning Libraries in Python
Deep Learning Libraries in Python
Python Libraries for NLP ( Natural Language Processing )
This is the home of Pygments. It is a generic syntax highlighter for
general use in all kinds of software such as forum systems, wikis or other
applications that need to prettify source code. Highlights are: