파이썬 dlist_1부터 dlist_n까지 리스트를 생성한 후 각 리스트마다의 첫번째 값을 모으기.

조회수 652회

파이썬에서 변수 이름을 이용해서 특정 리스트를 불러오려면 어떻게 하나요?

setattr(mod, 'dlist_{}'.format(i+1), list(map(int,input().split())))

이 코드로 dlist_1부터 dlist_n까지 리스트를 생성한 후 포문으로 리스트 안에 리스트를 추가하려고 합니다.

for i in range(0,n):
    templist+=1
    wlist.append("""이 안에 어떤 코드가 들어가야 하나요?""")

예를 들어서 저장된 리스트들 중에서 dlist_1부터 dlist_n까지의 리스트에서 각 리스트마다의 첫번째 값을 append해서 wlist 안에 [1,3,5,7,9] 이런 식으로 추가하려고 합니다.

1 답변

  • dlists = { k:[] for k in input().split() }
    

    이렇게 하면, dlists[1], dlists[2], ... 등등의 빈 리스트가 만들어집니다. dlist_1, .. 처럼 변수명을 동적으로 만드는 것은 하지 마세요. 리스트의 딕셔너리로 충분히 할 수 있습니다.

    for k, v in dlists.items():
        wlist.append(v[0])
    

    딕셔너리를 for 문에서 사용할 때에는 items() 메소드가 좋습니다. 질문에 대해서는 values() 를 써도 되는데, 키와 밸류를 같이 이터레이션 하는 경우가 많으니 이걸 자주 사용하게 됩니다.

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

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

(ಠ_ಠ)
(ಠ‿ಠ)