파이썬 독학하기 4일 차 : 문자열 인덱싱과 슬라이싱, 포매팅
문자열 인덱싱
문자열 자료형인 경우 인덱싱은 문자열에 각 일련번호를 두어 해당 문장에서 원하는 데이터의 위치를 찾거나 추출할 때 쓰이게 됩니다.
>>>a="Good Morning"
>>>a[3]
'd'
** 여기서 'a[3]' 이 a라는 문자열 자료형의 3번 인덱싱입니다. 이 인덱싱 넘버는 0번부터 시작하므로 'a[3]' 인덱싱은 a 문자열의 4번째 글자가 된다.
a[0] -> G
a[1] -> o
a[2] -> o
a[3] -> d
>>>a[-1]
'g'
** 인덱싱은 '-'기호가 붙으면 뒤에서부터 위치를 찾는다. 단 뒤에서부터 찾을 때는 -0이라는 개념이 없어서
위에 예제처럼 -1부터 시작한다.
문자열 슬라이싱
다음과 같은 문자열 연산을 사용하면 처음부터 4개의 문자를 출력할 수 있다.
>>>a="Good Morning"
>>>b=a[0]+a[1]+a[2]+a[3]
>>>b
'Good'
위와 같은 문자열 연산을 조금 더 쉽게 하기 위한 슬라이싱 기법이 존재하는데
>>>a="Good Morning"
>>>a[0:4] <- 0번부터 4번까지 출력하라
'Good'
** Good를 출력하려면 a [0]부터 a[3]까지만 추출해도 되므로 a[0:3]이라고 생각하기 쉬운데 실상 슬라이싱의 a[0:3]의 내용은 끝 부분의 숫자 3은 포함하지 않으므로 이상태로 추출하면
>>>a[0:3]
'Goo' <- a[2]까지만 추출된다.
** 범위로 표현하자면 0<=a<3 처럼 마지막 3의 숫자 범위는 포함하지 않는다. 그래서 4개의 글자를 온전히 출력하려면 슬라이싱 번호가 0번부터 시작하지만 끝 수를 4까지 지정해야 총 4개의 글자가 추출된다.
>>>a[0:4]
'Good'
문자열 슬라이싱은 ':'기호를 사이에 두고 앞 자릿수나 뒷자리 수 하나만 기록해도 됩니다. 각각의 의미는 다음과 같습니다.
>>>a="Good Morning"
>>>a[:5] <- 처음부터 a[5]번째 앞까지 추출 = a[0:5]
'Good '
>>>a[5:] <- a[5] 부터 끝까지 추출
'Morning'
문자열 포매팅
문자열 안에 특정값을 삽입하는 방법을 말합니다.
1. 숫자 대입
>>>"I have %d computers." %3 <- 포맷 코드 중 정수에 해당하는 코드 %d 자리에 맨 끝의 %3의 3이 삽입된다.
'I have 3 computers.'
2. 문자 대입
>>>"I have %s computers." %"four" <- 문자열 코드 %s 자리에 문장 끝의 'four'가 삽입된다.
'I have four computers.'
3. 숫자 대입시 변수를 사용하여 대입
>>>num=5
>>>"I have %d computers." %num
'I haver 5 computers.'
4. 2개 이상의 값을 대입
>>>num=5
>>>stat="good"
>>>"I have %d computers, It is all %s conditioned." %(num,stat)
'I have 5 computers, It is all good conditioned.'
5. %기호를 써야 할 때는 %%를 쓴다.
>>>"Pass rate is %d%." %90 <- 에러를 발생한다.
>>>"Pass rate is %d%%." %90
'Pass rate is 90%."
포맷 코드와 숫자 사용
1. 정렬과 공백
>>>"%10s" %"hi" <- %10s는 텍스트가 입력될 총 10개의 공간을 정하고 오른쪽에 글자를 정렬한다.
' hi'
>>>"%-10s" %"hi" <-%-10s는 텍스트가 입력될 총 10개의 공간을 정하고 왼쪽에 정렬한다.
'hi '
>>>"%-10sworld" %"hi" <- %-10s 총 10개의 텍스트 공간 중 왼쪽에 hi를 입력한다. world는 10개 공간 뒤 에삽 입
'hi world'
2. 소수점 표현
>>>"%0.4f" %3.141592 <- 소수점이하 4자리까지 표시한다.
'3.1416'
>>>"%10.4f" %3.141592 <-소수점이하 총 4자리까지 표시하되 총 10개의 글자 수
' 3.1416'
'IT Study > Python Self-Study' 카테고리의 다른 글
비 전공자의 파이썬 셀프 스터디 불가능? (0) | 2021.09.28 |
---|---|
비전공자의 파이썬 독학 이야기 3 (0) | 2021.04.04 |
비전공자의 파이썬 독학 이야기 2 (0) | 2021.03.30 |
비전공자의 파이썬 독학 이야기 1 (0) | 2021.03.28 |