슬라이싱
대한민국의 주민등록번호는 13자리로 이루어져 있습니다. ex) 000111-1234567
앞 6자리는 생년월일로 이루어져 있으며,
생년 | 월 | 일 | |||
0 | 0 | 0 | 1 | 1 | 1 |
뒤 7자리는 성별, 지역번호, 검증번호로 이루어져 있습니다.
성별 | 지역번호 | 검증번호 | ||||
1 | 2 | 3 | 4 | 5 | 6 | 7 |
이처럼 주민등록번호 중에서 필요한 만큼의 정보를 끊어 생년월일, 성별 등의 정보를 알 수 있는데, 파이썬에서는 슬라이싱이란 것을 이용하여 데이터를 원하는 만큼 잘라서 가져올 수 있습니다.
변수명[인덱스]
주민등록번호를 jumin 이라는 변수에 저장한 후, 변수에 저장되어 있는 값에서 성별 정보를 확인하기 위해서는 jumin[7] 이라고 적으면 됩니다.
jumin = "000111-1234567"
print("성별 : " + jumin[7])
# 출력 결과 >> 성별 : 1
분명 앞에서부터 세어보면 성별을 뜻해주는 값인 1은 8번째에 위치하고 있는데 7이라고 적은 이유는 인덱스 값은 프로그램에서 1부터가 아닌 0부터 시작하기 때문입니다.
주민등록번호 | 인덱스 |
0 | 0 |
0 | 1 |
0 | 2 |
1 | 3 |
1 | 4 |
1 | 5 |
- | 6 |
1 | 7 |
변수명[시작인덱스:종료인덱스]
[ ] 안에 적어주는 첫 번째 값이 시작인덱스, 두 번째 값이 종료인덱스를 뜻해줍니다.
만약에 [0:2] 라고 작성하면 인덱스의 기준으로 0부터 2의 직전, 즉 0부터 1까지 잘라서 가져오게 됩니다.
다음은 주빈등록번호에서 연, 월, 일을 가져오는 코드입니다.
jumin = "000111-1234567"
print("연 : " + jumin[0:2]) # 0부터 2직전까지 (0, 1)
print("월 : " + jumin[2:4]) # 2부터 4직전까지 (2, 3)
print("일 : " + jumin[4:6]) # 4부터 6직전까지 (4, 5)
'''
출력결과 >>
연 : 00
월 : 01
일 : 11
'''
시작인덱스와 종료인덱스에 값을 넣지 않을 경우에는 다른 의미를 가지고 실행이 됩니다.
변수명[:종료인덱스] >> 처음부터 종료인덱스 직전까지
변수명[처음인덱스:] >> 처음인덱스부터 끝까지
변수명[:] >> 처음부터 끝까지
위의 슬라이싱을 사용하여 주민등록번호 앞자리와 뒷자리를 출력해보겠습니다.
jumin = "000111-1234567"
print("주민번호 앞자리 : " + jumin[:6]) # 처음부터 6 직전까지
print("주민번호 뒷자리 : " + jumin[7:]) # 7부터 끝까지
'''
출력결과 >>
주민번호 앞자리 : 000111
주민번호 뒷자리 : 1234567
'''
만약에 처음부터가 아닌 뒤에서부터 슬라이싱을 하고 싶다면 양수가 아닌 음수를 이용하면 됩니다.
다만, 양수의 처음 인덱스가 0 부터인 반면 음수의 끝부분은 -1 부터 시작이란 점을 유의해야한다.
jumin = "000111-1234567"
print("인덱싱을 뒤에서부터 이용한 주민번호 뒷자리 : " + jumin[-7:]) # 끝에서 7번째 위치한 값부터 끝까지
# 출력결과 >> 인덱싱을 뒤에서부터 이용한 주민번호 뒷자리 : 1234567
'Language > Python' 카테고리의 다른 글
12. 기본부터 다지는 파이썬 - 문자열처리함수(2) (0) | 2022.05.12 |
---|---|
11. 기본부터 다지는 파이썬 - 문자열처리함수(1) (0) | 2022.05.10 |
9. 기본부터 다지는 파이썬 - 문자열 (0) | 2022.05.07 |
8. 기본부터 다지는 파이썬 - 중간점검 (0) | 2022.05.06 |
7. 기본부터 다지는 파이썬 - 랜덤함수 (0) | 2022.05.05 |