학습내용
문자열 연산
- 문자열 더하기를 통해 연결하기(Concatenation)
- 문자열 연산은 문자가 저장될 수 있는 공간을 새로 만들어서 저장하기에 반복적인 문자열 연산은 부하를 일으킬 수 있다.
a = "Big"
b = "Data"
a + b
#Big Data
a = "Big"
a * 3
#BigBigBig
a = "-"
a * 30
#------------------------------
- len( ) 함수 : 문자열 길이 계산
- len함수의 경우 이스케이프 코드도 계산하기에 이를 고려하여 사용해야한다.
a = "Hello"
b = len(a)
print(b)
#5
c ="He\nllo"
d = len(c)
print(d)
#6
문자열 인덱싱(Indexing)
인덱싱은 무언가를 가리킨다는 의미로 문자열에 번호를 매겨 특정 위치, 순서의 문자를 찾을 수 있도록 하는 것. 파이썬에서는 0부터 카운트를 시작한다. 3번째 위치는 인덱싱 숫자로 2다.
a = "Arts with Tech, Big Data Koo"
Arts with Tech, Big Data Koo
0 1 2
0123456789012345678901234567
a[11]
#e
a[-1]
#o
- Art with Tech, Big Data Koo의 번호를 매기면 위와 같다.
- '변수[번호]'는 문자열 내의 특정한 위치의 값을 뽑아낼 수 있다.
- a[11]은 변수 a의 11번째 문자를 가지고 와라. -> 11번째 문자인 e.
- 문자열을 뒤에서부터 읽고싶다면 ( - )를 활용하면 된다.
a = "Arts with Tech, Big Data Koo"
b = a[25] + a[26] + a[27]
print(b)
#Koo
- 위와 같이 인덱싱을 활용하여 연산도 가능하다.
문자열 슬라이싱(Slicing)
문자열 슬라이싱은 문자열 내에서 특정 범위의 문자를 뽑아낼 수 있도록 하는 것.
a = "Arts with Tech, Big Data Koo"
a[25:28] # 25<= a < 28
#Koo
- a[25:28]은 문자열 a의 25번 문자부터 28번까지의 문자를 뽑아낸다는 뜻.(25번부터 28번보다 작을 때까지의 수)
a = "Arts with Tech, Big Data Koo"
a[19:]
#Big Data Koo
a[:13]
#Arts with Tech
a[:]
#Arts with Tech, Big Data Koo
a[20:-4]
#Data
- 끝 번호 부분을 생략하면 시작 번호부터 문자열의 끝까지를 뽑아낸다.
- 시작 번호 부분을 생략하면 처음부터 끝 번호까지 뽑아낸다.
- [ : ]를 사용하면 문자열의 처음부터 끝까지를 뽑아낸다.
- 마이너스(-) 기호도 사용이 가능하다.
슬라이싱으로 문자열 나누기
record = "20210921Rainy"
date = record[:8]
weather = record[8:]
date
#20201213
weather
#Rainy
- 'YYYYMMDD날씨' 순으로 기록이 되어 있을 때.
- 날짜는 0~7번까지, 날씨는 8번부터 끝까지로 설정하면 원하는 데이터를 뽑아낼 수 있음.
파이썬 슬라이싱 예제
1. '123456'이라는 문자열을 슬라이싱을 활용해 '234561'로 변경해보기.
a = '123456'
b = a[1:] + a[0]
print(b)
#234561
2. 주민등록번호(730922-1083234)에서 생년월일을 출력하는 프로그램 만들기.
a = '730922-1083234'
year = a[0:2]
month = a[2:4]
day = a[4:6]
#1
"{0}년 {1}월 {2}일".format(year, month, day)
#2
f"{year}년 {month}월 {day}일"
#'73년 09월 22일'
'파이썬 > Basics(기초)' 카테고리의 다른 글
[Python] 6. 파이썬 리스트 인덱싱, 슬라이싱, 연산 (0) | 2021.09.25 |
---|---|
[Python] 5. 파이썬 자료구조 기초 (0) | 2021.09.23 |
[Python] 4. 파이썬 문자열 함수 및 예제 (0) | 2021.09.22 |
[Python] 3. 파이썬 문자열 포맷팅, f문자열 포맷팅 (0) | 2021.09.22 |
[Python] 1. 파이썬 자료형(정수형, 실수형, 연산자, 문자열) (0) | 2021.09.21 |
댓글