2016년 6월 19일 일요일

헤드 퍼스트 파이썬

60페이지의 IDLE 을 이용하여 중첩된 리스트의 내용을 출력하는 부분

데이터의 형식은 이런식이다.

movies = [
  ["컨저링 2", 2016, ["베라 파미가",["패트릭 윌슨","에드 워렌","프랜시스 오코너","프랜시스 오코너","매디슨 울프","사이먼 맥버니", "모리스 그로스"]]],
  ["아가씨",   2016, ["김민희",["김태리","하정우","조진웅","문소리"]]],
  ["곡성",    2016,  ["곽도원",["천우희","황정민","쿠니무라 준","정소연"]]]
]

[영화명, 년도, [[주연],[조연1,조연2...]]


for each_item in movies:
...     if isinstance(each_item, list):
...             for nested_item in each_item:
...                     if isinstance(nested_item, list):
...                             for deeper_item in nested_item:
...                                     print(deeper_item)
...                     else:
...                             print(nested_item)
...     else:
...             print(each_item)





이걸 함수화하면

def print_lol(the_list):

    for each_item in the_list:
        if isinstance(each_item, list):
            print_lol(each_item)
        else:
            print(each_item)
movies = [
   ["컨저링 2", 2016, ["베라 파미가",["패트릭 윌슨","에드 워렌","프랜시스 오코너","프랜시스 오코너","매디슨 울프","사이먼 맥버니", "모리스 그로스"]]],
   ["아가씨",   2016, ["김민희",["김태리","하정우","조진웅","문소리"]]],
   ["곡성",    2016,  ["곽도원",["천우희","황정민","쿠니무라 준","정소연"]]]
 ]


print_lol(movies)

sharpscar@sharpscar-W65-67SF:~/workspace/python/0620$ python3 mygram.py
컨저링 2
2016
베라 파미가
패트릭 윌슨
에드 워렌
프랜시스 오코너
프랜시스 오코너
매디슨 울프
사이먼 맥버니
모리스 그로스
아가씨
2016
김민희
김태리
하정우
조진웅
문소리
곡성
2016
곽도원
천우희
황정민
쿠니무라 준
정소연


댓글 없음: