**Python - ALawliet/algorithms GitHub Wiki

for w1, w2 in zip(words, words[1:]):
    for c1, c2 in zip(w1, w2):
# rightmost = bisect = bisect_right
bisect.bisect = bisect.bisect_right
bisect.bisect_left(l, (e.end,))
floor() # take floor
int() # truncate 
heappush(self.smallMaxHeap, -num) # add to max heap
-heappop(self.smallMaxHeap) # pop from max heap
prefix_sums = [sum(input[:i+1]) for i in range(len(input))]

prefix_sums = list(itertools.accumulate(input))
>>> ord('5')
53
>>> ord('0')
48
>>> ord('5') - ord('0')
5
carry, r = divmod(n1 + n2 + carry, 10)
quotient, r = divmod(5, 2) # => 2, 1
Q = iter(data) = deque(data)
node = next(Q) = Q.popleft()