파이썬) 서로 다른 len의 리스트를 더하기

조회수 2524회

서로 len이 다른 두개의 리스트를 더하는 로직을 짜고 싶습니다. list1=[1,2,3,4,5]와 list2=[1,1,1,1,1,1,1]를 더해서 list3=[2,3,4,5,6,1,1]을 만들고 싶습니다. 하지만 자꾸 에러가 나네요 ㅠㅠ 혹시 이보다 더욱 쉽게 코드를 짤 수 있나요?


lis1=[1,2,3,4,5] #len=5
list2=[1,1,1,1,1,1,1] #len=7
if len(list1)>len(list2):
    for i in range(len(list1)):
        list2.append(0) if list2[i]=[]
        list3[i]=list1[i]+list2[i]
else:
    for i in range(len(list2)):
        list1.append(o) if list1[i]=[]
        list3[i]=list1[i]+list2[i]
print(list3)

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • list1=[1,2,3,4,5] #len=5
    list2=[1,1,1,1,1,1,1] #len=7
    
    if len(list2) > len(list1):
        for i in range(len(list1)):
            list2[i] = list2[i] + list1[i]
    
        print(list2)
    
    else:
        for i in range(len(list2)):
            list1[i] = list1[i] + list2[i]
    
            print(list1)
    
    
    

    그냥 둘 중에 제일 긴 리스트의 요소에 길이가 작은 리스트의 요소를 더하고, for 문이 종료되면 길이가 긴 리스트를 출력하시면 간단하게 됩니다.

    그리고 그 코드에서 오류가 발생하는 이유는

    1. 6번째 줄 if list2[i]=[]... 비교연산자에서 "같다" 라는 기호는 == 입니다.
    2. 7번째 줄 list3[i]=list1[i]+list2[i]... list3 이라는 리스트를 선언하지 않았습니다.
    3. 1번째 줄 lis1=[1,2,3,4,5]... 위에선 lis1 으로 선언하셨는데 밑에선 list1이라고...
    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)