IT Study/Python Self-Study

비전공자의 파이썬 독학 이야기 4

FreePiggy 2021. 4. 21. 00:37

파이썬 독학하기 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'