title: Add two lists of different lengths in python, start from the right
body: <p>I want to add two list of different length start from the right
  Here's an example</p>
  
  <pre><code>[3, 0, 2, 1]
  [8, 7]
  </code></pre>
  
  <p>Expected result: </p>
  
  <pre><code>[3, 0, 10, 8]
  </code></pre>
  
  <p>These list represent coefficient of polynomials</p>
  
  <p>Here is my implementation </p>
  
  <pre><code>class Polynomial:
      def __init__(self, coefficients):
          self.coeffs = coefficients
  
      def coeff(self, i):
          return self.coeffs[-(i+1)]
  
      def add(self, other):
          p1 = len(self.coeffs)
          p2 = len(other.coeffs)
          diff = abs(p1 - p2)
          if p1 &gt; p2:
              newV = [sum(i) for i in zip(self.coeffs, [0]*diff+other.coeffs)]
          else:
              newV = [sum(i) for i in zip([0]*diff+self.coeffs, other.coeffs)]                  
          return Polynomial(newV)
  
      def __add__(self, other):
          return self.add(other).coeffs
  </code></pre>
  
  <p>This one work fine, just want to know anyway to do better, cleaner code?
  As python always stressed at clean code, I want to know is there any way to write cleaner, pythonic code?</p>