Python N개의 list만들기.

조회수 1165회

파이썬으로 다음과 같은 N개의 리스트

list1=[]

list2=[]

list3=[]

...

listN=[]

을 만들고 싶습니다. for문을 써서

for i in range(1,N+1):
    list%s=[] %i

을 하면 can't assign to operator 라는 에러가 뜹니다.

무슨 방법 없을까요?

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

1 답변

  • 음...그럴필요가 있나요? 아래와 같이 하는 것이 더 낫습니다.

    D = {'list{}'.format(n):list() for n in range(1, 11)}
    print(D)
    
    {'list1': [], 'list2': [], 'list3': [], 'list4': [], 'list5': [], 'list6': [], 'list7': [], 'list8': [], 'list9': [], 'list10': []}
    

    물론 질문자의 요청대로 할 수 있지만 리플렉션을 활용해야 합니다. 먼저 질문자가 작성한 코드와 컴퓨터가 이해하는 코드를 혼동하면 안됩니다.

    아래 샘플을 참조해보세요.

    import sys
    mod = sys.modules[__name__]
    for n in range(1, 11):
        setattr(mod, 'list{}'.format(n), [])
    
    print(list1)
    print(list10)
    
    []
    []
    

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

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

(ಠ_ಠ)
(ಠ‿ಠ)