from numpy import finfo, iinfo import numpy as np finfo(np.float128).eps for i in [0,1,2,3,4,5]: print i**2 for i in range(6): print i**2 for i in xrange(6): print i**2 from numpy import arange %%timeit from numpy import arange for i in arange(100000000): pass %%timeit for i in xrange(1000000000): pass colors = ['red','green','blue','yellow'] for i in range(len(colors)): print colors[i] for color in colors: print color for i in range(len(colors)-1,-1,-1): print colors[i] for color in reversed(colors): print color for i in range(len(colors)): print i, '-->', colors[i] for i,color in enumerate(colors): print i, '-->', color %%timeit for i in range(len(colors)): pass %%timeit for i,color in enumerate(colors): pass names = ['Ze','Pedro','Nicola','Jose','Filipe'] n = min(len(names), len(colors)) for i in range(n): print names[i], '-->', colors[i] for name,color in zip(names,colors): print name,'-->', color %%timeit n = min(len(names), len(colors)) for i in range(n): pass # print names[i], '-->', colors[i] %%timeit for name,color in zip(names,colors): pass # print name,'-->', color %%timeit from itertools import izip for name,color in izip(names,colors): pass # print name, '-->', color for color in sorted(colors, key=lambda x: len(x), reverse=True): print color partial? d = {'Pólvora':'I','Silva':'II','Cantarutti':'III','Santos':'IV'} %load_ext memory_profiler %memit for i in range(100000000): pass %memit for i in xrange(100000000): pass for k in d: print k for k in d: print k, '-->', d[k] for k,v in d.items(): print k, '-->', v for k,v in d.iteritems(): print k, '-->', v from itertools import izip d2 = dict(izip(names,colors)) d2 colors = ['red','blue','green','red','yellow','green'] d3 = {} for color in colors: if color not in d3: d3[color] = 0 d3[color] += 1 d3 d3 = {} for color in colors: d3[color] = d3.get(color,0) + 1 d3 from collections import defaultdict d3 = defaultdict(int) for color in colors: d3[color] += 1 d3 = dict(d3) d3 names = ['Ze','Pedro','Nicola','Jose','Filipe','Yasser','Maria','Gilson'] d = {} for name in names: key = len(name) if key not in d: d[key] = [] d[key].append(name) d d = {} for name in names: key = len(name) d.setdefault(key, []).append(name) d d = defaultdict(list) for name in names: d[len(name)].append(name) dict(d) data = 'Jose','Silva',28,'silva@math.uni-wuppertal.de' fname = data[0] lname = data[1] age = data[2] email = data[3] print fname, lname, age, email fname, lname, _ = data print fname, lname, age from numpy import * p1 = (1,1) x, y = p1 r, theta = sqrt(x**2+y**2), arctan(y/x) print r,theta oldlist = ['eu','ich','i','io','yo','я'] newlist = [] for word in oldlist: newlist.append(word.capitalize()) for word in newlist: print word, newlist = map(str.capitalize,oldlist) for word in newlist: print word, newlist = [word.capitalize() for word in oldlist] for word in newlist: print word, %%timeit newlist = [] for word in oldlist: newlist.append(word.capitalize()) %timeit newlist = map(str.capitalize,oldlist) %timeit newlist = [word.capitalize() for word in oldlist] oldlist = [u'eu',u'ich',u'i',u'io',u'yo',u'я'] newlist = [] for word in oldlist: newlist.append(word.capitalize()) for word in newlist: print word, print newlist = [word.capitalize() for word in oldlist] for word in newlist: print word, newlist = map(unicode.capitalize,oldlist) for word in newlist: print word, result = [] N = 10 for i in range(N): s = i**2 result.append(s) print sum(result) %%timeit sum([i**2 for i in range(N)]) %%timeit sum([i**2 for i in xrange(N)]) %%timeit sum(i**2 for i in xrange(N)) import numpy as np %%timeit (np.arange(N,dtype=int)**2).sum() arr_c = np.ones((1000,1000),order='C') arr_f = np.ones((1000,1000),order='F') %timeit arr_c.sum(1) %timeit arr_f.sum(1) arr_f.flags arr_c.flags %reload_ext version_information %version_information numpy from IPython.core.display import HTML def css_styling(): styles = open("./styles/custom.css", "r").read() return HTML(styles) css_styling()