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님 답변 달아주셔서 감사합니다~!
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
156984 [질문] 전동테이블 층간소음 방지 매트 좋은 방법 있을까요? [2] 다이어트9716 21/07/26 9716
156983 [질문] 아크릴 모서리가 날카로워서 가공하려고 하는데 어떤 도구를 사야할까요? [4] 아이언맨10292 21/07/25 10292
156982 [질문] 휴가철에 코로나 단계 올리기를 할까요? [23] 삭제됨14126 21/07/25 14126
156981 [질문] 포켓볼은 왜케 없는고죠 [4] 푸들은푸들푸들해9636 21/07/25 9636
156980 [질문] 교육대학원(교대원) 진학 질문드립니다. [2] Aiurr8805 21/07/25 8805
156979 [질문] 대한민국 vs 루마니아 축구 혹시 기억하시나요? [4] 시오냥11806 21/07/25 11806
156978 [질문] 지금 축구 대한민국 선제골인가요? [2] 윤정10425 21/07/25 10425
156977 [질문] 휴가계획 어떠세요? (조용한 해수욕장 없을까요?) [7] 신류진11724 21/07/25 11724
156976 [질문] 명품샵 가면 무슨 말을 해야 하나요? [13] 저고11622 21/07/25 11622
156975 [질문] 순살치킨 메뉴 추천 부탁 드립니다!! [20] 원스15279 21/07/25 15279
156974 [삭제예정] 디딤돌대출 70% + 추가대출 30%가 가능한가요? [5] 삭제됨12925 21/07/25 12925
156973 [질문] 지구 이상 기온이 지진 발생 여부에도 영향을 미칠 수 있나요? [4] Alynna9614 21/07/25 9614
156972 [질문] 디아 2 클래스 선택 조언 구합니다 [12] 태양의맛썬칩14531 21/07/25 14531
156971 [삭제예정] 마지막 삼성 혼수 발품 팔았는데 어떤가요? [12] 삭제됨11842 21/07/25 11842
156970 [질문] [법무사 선임 관련] 저당권말소+등기 같은 경우에도 법무사 선임 [1] 루체른7808 21/07/25 7808
156969 [질문] 여자친구랑 같이 할 게임 있을까요?? [16] 삭제됨10497 21/07/25 10497
156968 [질문] 파이썬 뉴비 예제 질문드립니다. [4] 민트초코우유9454 21/07/25 9454
156967 [질문] 롤 전현직 프로 중 최고 스타실력을 가진게 누군가요? [5] 요한슨9175 21/07/25 9175
156966 [질문] (긴글) 미용실에서 이런 경우에 어떻게 대처하는게 좋을까요? [9] 치카치카10716 21/07/25 10716
156965 [질문] 서울 근교 숨겨진 꿀카페 같은데 아시는 분?! [5] 삭제됨11671 21/07/25 11671
156964 [질문] 벤츠 e350 vs BMW 530 [15] 시행착오 합격생12269 21/07/25 12269
156963 [질문] 지금 해수욕장 어떤가요? [8] 기술적트레이더14735 21/07/25 14735
156962 [질문] 유게 미드 관련 게시물 제목 질문입니다. [4] 아침10101 21/07/25 10101
목록 이전 다음
댓글

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