We evaluated Stack Overflow for the most frequent problems encountered by people & summarized the answers as well.

1. How do I check if a file exists, using Python, without using a try statement?

(compatible with python 2.x/3)

import os

print os.path.isfile(fname)


2. Best way to check if a list is empty

(2.x/3)

li=[]

if not li:

     print “empty"


3. Nicest way to pad zeros to string

(2.7/3.x compatible)

“12345”.zfill(10)


4. How to know if an object has an attribute in python

hasattr(a,’attributename’)

(2.7/3.x compatable)


5. Catch Multiple Exceptions in one line

(>2.6)

except (Exception1, Exception2) as e:

     pass


6. How to list all files of a directory in python ?

(2.7/3 compatible)

import os

os.listdir()


7. How do i sort a list of Dictionaries by values of Dictionaries ?

(python 2.x and 3.x compatible)

newlist = sorted(list_to_be_sorted, key=lambda k: k['name'])


8. How do you split a list into evenly sized chunks ?

def chunks(l, n):

""" Yield successive n-sized chunks from l. """

    for i in xrange(0, len(l), n):

        yield l[i:i+n]


9. How do i download a file over HTTP ?

import urllib2

urllib2.urlopen('http://www.example.com/').read()


10. Matrix multiplication in Python?

(2.x)

def matmult(a,b):

    zip_b = zip(*b)

    return [[sum(ele_a*ele_b for ele_a, ele_b in zip(row_a, col_b)) for col_b in zip_b] for row_a in a]


11. list all primes below N

(2.x)

def primes(n):

   """ Returns  a list of primes < n """

   sieve = [True] * n

   for i in range(3,int(n**0.5)+1,2):

       if sieve[i]:

           sieve[i*i::2*i]=[False]*((n-i*i-1)/(2*i)+1)

           return [2] + [i for i in xrange(3,n,2) if sieve[i]]


12. Binary search algorithm in python

def binary_search(array, target):

   lower = 0

   upper = len(array)

   while lower < upper:   # use < instead of <=

       x = lower + (upper - lower) // 2

       val = array[x]

       if target == val:

           return x

       elif target > val:

           if lower == x:   # this two are the actual lines

               break        # you're looking for

           lower = x

       elif target < val:

           upper = x