파이썬-리스트1의 각 인수로 리스트2를 중복없이 반복하기

조회수 1390회

아래 코드를 단순화 하려면 어떻게 하나요?

Newlist =[ ]

A_list = [a, b, c, d, e, f]

page_list = [1, 4, 5]

''''''''''''''''''

for 'A' in A_list:

names1 = 클래스 메소드 함수(type='A', page=1)

Newlist.extend(names1)

names2 = 클래스 메소드 함수(type='A', page=4)

Newlist.extend(names2)

names3 = 클래스 메소드 함수(type='A', page=5)

Newlist.extend(names3)

page 값은 리스트인데 A_list와 함께 for문으로 같이 엮는 방법을 모르겠네요. 원하는 결과값은 (a, 1) (a, 4) (a, 5) (b, 1) (b, 4) (b, 5) . . .

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

2 답변

  • 반복작업은 itertools 모듈을 사용해보세요.

    import itertools
    
    A_list = ['a', 'b', 'c', 'd', 'e', 'f']
    page_list = [1, 4, 5]
    list(itertools.product(A_list, page_list))
    
    [('a', 1),
     ('a', 4),
     ('a', 5),
     ('b', 1),
     ('b', 4),
     ('b', 5),
     ('c', 1),
     ('c', 4),
     ('c', 5),
     ('d', 1),
     ('d', 4),
     ('d', 5),
     ('e', 1),
     ('e', 4),
     ('e', 5),
     ('f', 1),
     ('f', 4),
     ('f', 5)]
    
  • Newlist =[ ]

    A_list = ['a', 'b', 'c', 'd', 'e', 'f']

    page_list = [1, 4, 5]

    for i in A_list : for v in page_list : Newlist.append((i,v))

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

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

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

(ಠ_ಠ)
(ಠ‿ಠ)