3 svar
186 visningar
lund är nöjd med hjälpen
lund 529
Postad: 13 nov 2020 23:21

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 4070
Postad: 13 nov 2020 23:38

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

Dr. G Online 9338
Postad: 13 nov 2020 23:50

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 529
Postad: 14 nov 2020 00:18

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