이 코드 실행 메커니즘에 대해 알려주세요
조회수 549회
data = """
park 800905-1049118
kim 700905-1059119
"""
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 = word[:6] + "-" + "*******"
word_result.append(word) #이름이랑 바꾼 주민번호를 word_result에 넣는다.
result.append(" ".join(word_result)) #여기서 결합되면 result -> park 800905-******* kim 700905-******* 한줄로 결합이 되는건데
print("\n".join(result)) # 여기서 어떻게 줄별로 나눠지는건지 모르겠습니다.
#결과가 이렇게 오는데 어떻게 이렇게 되는건지 모르겠습니다. 다 결합 후 4줄로 되는거 아닌가 싶어서
park 800905-*******
kim 700905-*******
주석을 봐주세요
1 답변
-
data = """ park 800905-1049118 kim 700905-1059119 """ 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 = word[:6] + "-" + "*******" word_result.append(word) #이름이랑 바꾼 주민번호를 word_result에 넣는다. result.append(" ".join(word_result)) #여기서 결합되면 result -> park 800905-******* kim 700905-******* 한줄로 결합이 되는건데 print("\n".join([ str(i) + l for i, l in enumerate(result)])) # 여기서 어떻게 줄별로 나눠지는건지 모르겠습니다.
이렇게 실행해 보면 아시겠지만, 안보일 뿐이지, 4라인이 인쇄됩니다.
댓글 입력