PGR21.com
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다.
통합 규정을 준수해 주십시오. (2015.12.25.)
Date 2021/07/25 13:44:52
Name 민트초코우유
Subject [질문] 파이썬 뉴비 예제 질문드립니다.
안녕하세요 파이썬을 이제 막 배우기 시작한 초보입니다.

책에 나온 아래의 예제(주민등록번호 뒷자리 *변환)를 공부하다가 궁금한 내용이 있어서 글 올립니다.

data = """
park 857746-1456878
kim 889974-2447867
"""
result = [ ]
for line in data.split("n"):
    word_result = [ ]
    for word in line.split(" "):      
        if len(word)  == 14 and word[:6].isdigit() and word[7:].isdigit():
            word = word[:6] + "-" + "*******"
        word_result.append(word)
        print(word_result)                                 
    result.append(" ".join(word_result))
print("n".join(result))

중간중간 객체에 어떤 내용이 할당되는지 print를 찍으면서 따라하다가, 볼드처리한 부분에서 아래와 같이 나옵니다.
['']
['park']
['park', '857746-*******'](출력) -> ['857746-*******'](생각)
['kim']
['kim', '889974-*******'](출력) -> [889974-*******](생각)
['']

제 생각에는 word_result를 출력할 때 주민등록번호만 나오는게 맞다고 생각하는데 실제로는 성과 함께 리스트에 출력됩니다.

어떤 로직으로 성과 주민등록번호가 같이 할당된건지 궁금합니다.

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
러버스캔
21/07/25 14:05
수정 아이콘
"park 857746-1456878".split(" ") => [park , 857746-1456878 ]

첫번째 루프 word = park => if 통과 => word_result.append(word) => [park]
두번째 루프 word = 857746-1456878 => if 뒷자리 변환 => word_result.append(word) => [park, 857746-*******]
21/07/25 14:09
수정 아이콘
wrod_result.append(word) <-- word_result 리스트에 word를 집어넣는 명령의 들여쓰기를 확인해 보시면 될 것 같습니다.
이 명령이 위쪽의 if문과 동일한 들여쓰기 단계에 있기 때문에, if 문의 실행 여부와 관계없이 실행되는 것 같네요.
만약 해당 명령을 한 칸 더 들여쓰기하면 if문 안으로 들어가므로, if문이 실행될 경우(즉 word가 주민번호일 경우)에만 word_list에 단어를 넣게 되겠죠.
구리구리TM
21/07/25 14:09
수정 아이콘
word_result = [ ]가 두번째 for문 바깥에 있고 for문 내에서 word_result.append(word)로 word_result에 word가 추가 되기 때문입니다.
빈 word_result에 'park'이 추가되고 출력, 다음 루프 때 word_result에 주민번호를 변경한 것이 추가되고 출력되어 'park', '857746-*******'이렇게 나오 것으로 보여집니다. 즉 append를 쓰면 기존에 있는 내용에 추가되는 것이라 그렇게 출력 되는 것입니다.
민트초코우유
21/07/26 16:29
수정 아이콘
작성해주신 답변 보고 이해했습니다~! 러버스캔님, Aku님, 구리구리TM님 답변 달아주셔서 감사합니다~!
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
157007 [질문] [마우스] 혹시 쿠거 리벤저 라는 제품 아시는분 계신가요? [3] TheLoveBug10759 21/07/26 10759
157006 [질문] 서울에서 가까운 서해 바닷가 추천 부탁드립니다 [4] 더치커피8645 21/07/26 8645
157005 [질문] 하브차 오너 계십니까 [7] 길갈9794 21/07/26 9794
157004 [질문] 선수 이름을 찾습니다 (여자 사격?) [4] 2'o clock12284 21/07/26 12284
157003 [질문] 자동차 간단한 정비 1급 공업소에서 하면 더 비싼가요? [11] 치카치카9471 21/07/26 9471
157002 [질문] BTC 마켓 두번째 질문입니다. (친구와 의견대립중입니다) [24] 삭제됨22614 21/07/26 22614
157001 [질문] 프리랜서 세무 관련 간단한 질문 [6] 앙몬드8042 21/07/26 8042
157000 [질문] [LOL] 특정 챔피언에 따라 떠오르는 게이머가 있으신가요? [37] Rorschach13343 21/07/26 13343
156999 [질문] 허영무 선수의 병행시즌 우승 어떻게 생각하시나요? [58] Lina Inverse11800 21/07/26 11800
156998 [질문] 1박2일 (혹은 당일) 기차로 갈만한 곳 추천해주세요! [6] 부기영화11354 21/07/26 11354
156997 [삭제예정] 시스템에어컨 누수로 인한 도배 AS 관련 [3] 아니그게아니고11510 21/07/26 11510
156996 [질문] 신축아파트 시스템에어컨 설치 고민... [30] mourinjun22135 21/07/26 22135
156995 [질문] 베이크 아웃 꼭 해야 할까요? [13] Equalright10128 21/07/26 10128
156994 [질문] 빌라 실외기 소음 방법있을까요? 애플11820 21/07/26 11820
156993 [질문] 공모주 청약 관련 질문입니다. [3] GgNu8041 21/07/26 8041
156992 [질문] 음식물이 걸린듯 가슴이 며칠째 답답합니다. [5] 삭제됨10343 21/07/26 10343
156991 [질문] TV..LG랑 삼성이랑 방식이 요새 좀 갈렸는데, 어느게 낫나요? [11] LG의심장박용택8635 21/07/26 8635
156990 [질문] 배틀그라운드 사양 질문이요. 뽕뽕이9321 21/07/26 9321
156989 [질문] 재난지원금 기준이 건보료 작년인가요? 최근 기준인가요? [5] 고등어3마리11471 21/07/26 11471
156988 [질문] 요즘 컴터부품 시세(?)가 좀 어떤가요? 특히 글카... [3] 하얀마녀8335 21/07/26 8335
156987 [질문] 투룸(거실+방)인데 에어컨이 방에만 있습니다. 바람 질문! [5] K59911 21/07/26 9911
156986 [질문] 유아(7세)도 충치 신경치료를 꼭 해야하는 건가요? [5] 삭제됨16274 21/07/26 16274
156985 [질문] 오래 전에 본 일본 만화 하나 찾습니다 [2] 타츠야9919 21/07/26 9919
목록 이전 다음
댓글

+ : 최근 1시간내에 달린 댓글
+ : 최근 2시간내에 달린 댓글
맨 위로