Some differences between python2.7 and python3
print is a function now in python 3
do print(a)
and print a
not work
division by int can return float
>>> 5/2 (python2.7)
2
while in python3
>>> 5/2
2.5
Some well-known APIs no longer return lists
dict.iterkeys(), dict.iteritems() and dict.itervalues() are no longer supported in python3
xrange is replaced by range
zip() now returns an iterator.
>>> iter = zip([1, 2, 3], ['a', 'b', 'c'])
>>> next(iter)
(1, 'a')
>>> next(iter)
(2, 'b')
>>> next(iter)
(3, 'c')
>>> next(iter)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
StopIteration
map() and filter() return iterator too, but we can use list(map())
to transform it.
Ordering function
All the elements to be sorted now must be comparable to each other
cmp argument providing a comparison function is no longer supported