Closed briankim1027 closed 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]를 붙였습니다.
-===========- 책에서 설명을 많이 드렸어야했는데... 이렇게 설명을 드리네요...
tmp = name.split() tmp_gu = [ gu for gu in tmp if gu[-1] == '구'][0]
책을 보고 제가 코드를 이해하기로는
'대한민국 서울특별시 중구 저동2가 수표로 27' 로 된 경찰서 주소를 공백으로 분리 하는 거 까지는 알겠는데요
그 다음 코드 줄 좀 설명 부탁드립니다. a. gu 가 의미하는 거 b. 람다(?) 함수 형식으로 1줄로 표시된 거 같은데 잘 모르겠습니다. (풀어서 쓰면 어떻게 되는지)
감사합니다.