3 svar
45 visningar
lund är nöjd med hjälpen!
lund 264
Postad: 13 nov 2020

Addition av två listors element

Hej,

Jag har definierat addition mellan två listor i Python enligt följande:

def add_poly(p,q):
      p_list = []
      for (coeff1,coeff2) in zip(p,q):
              p_list.append(coeff1+coeff2)
      return p_list

och den fungerar fram tills att listorna har ojämna antal i sig. Exempelvis om vi ansätter p=[2,0,1] och q=[-2,1,0,0,1] så blir svaret [4,-1,1] vilket är felaktigt. Hur kan jag korrigera detta?

Micimacko 2095
Postad: 13 nov 2020

Du kanske kan hitta den ev svansen på ena listan och sätta dit den efter loopen?

Dr. G 5789
Postad: 13 nov 2020

Här kan du läsa om vad zip() gör. 

Kan en variant vara att lägga till nollor på den kortare listan och sedan addera dem rakt av?

lund 264
Postad: 13 nov 2020

Tack för era svar! Jag läste på om zip() och hittade zip_longest som är en itertool i Python, jag lyckades aktivera den och kunde därefter förlänga den kortare listan med nollor, sen fungerade allt som det skulle och det krävde dessutom minimala förändringar i kodningen. Tusen tack!

Svara Avbryt
Close