PinkWink / DataScience

책) 파이썬으로 데이터 주무르기 - 소스코드 및 데이터 공개
http://pinkwink.kr/1070
246 stars 502 forks source link

2장 코드 11번 설명 좀 부탁 드립니다. #5

Closed briankim1027 closed 6 years ago

briankim1027 commented 6 years ago

tmp = name.split() tmp_gu = [ gu for gu in tmp if gu[-1] == '구'][0]

책을 보고 제가 코드를 이해하기로는

감사합니다.

PinkWink commented 6 years ago

-. 만약, name에 '대한민국 서울특별시 중구 저동2가 수표로 27' 가 들어왔고... -. name.split()을 하면, tmp=['대한민국', '서울특별시', '중구', '저동2가', '수표로', '27' ]로 띄어쓰기로 나눠서 저장됩니다. -. 그 상태에서 [ gu for gu in tmp if gu[-1] == '구']의 의미를 좀 풀어서 설명하면 --. tmp 안에 있는 요소 하나하나(gu)를 검사해서 그 요소의 제일 마지막 글자 gu[-1]가 '구'로 끝나는 것만 리스트에 저장하라는 의미입니다. -. 그러면, [ gu for gu in tmp if gu[-1] == '구']의 결과는 ['중구']가 됩니다. -. 그러나, ['중구']는 리스트형으로 저장이 된 것입니다. 그 안의 첫 요소인 '중구'만 얻고 싶어서, [ gu for gu in tmp if gu[-1] == '구'][0]라고 제일 마지막에 [0]를 붙였습니다.

-===========- 책에서 설명을 많이 드렸어야했는데... 이렇게 설명을 드리네요...