본문 바로가기

python3/자료구조 & 알고리즘

파이썬 자료구조 : 모두를 위한 프로그래밍 - 문자열

파이썬의 데이터 타입은 자주 구글링해도 디테일한 부분은 자꾸 까먹는 것 같아서 

 

가장 기본적인 부분은 정리를 해두는 게 좋을 것 같다.

 

가장 먼저 문자열!!

 

- 입력값은 무조건 문자열이다.

 

- 문자열은 인덱스 개념 적용이 가능하다. 

fruit = 'banana'
print(fruit[0])
# b

- 인덱스를 이용한 슬라이싱

myString = 'Monty Python'
print(myString[0:4])
# Mont가 출력됩니다. 여기서 0 to 4에서 4에 대한 인덱스는 출력되는 값에 포함되지 않는 것을 확인하여야 합니다.
print(myString[6:7])
# P가 출력됩니다.
print(myString[6:20])
# Python이 출력됩니다.
print(myString[:2])
# index값이 2에 해당하는 문자 앞부터 출력됩니다.
print(myString[8:])
# index값이 8에 해당하는 문자부터 출력됩니다.
print(myString[:])
# 전체가 출력됩니다.

- len()은 문자열 포함, 리스트, 집합 등 다양한 자료형에서 가능하다.

 

- +를 이용하여 문자열도 합칠 수 있고 리스트도 합칠 수 있다. 집합은 +가 아니라 합집합을 해야한다.

firstString = 'Hello'
secondString = 'There'
print(firstString + secondString)
# HelloThere로 출력됩니다.

- in 은 논리연산자이며, 문자열이나 리스트, 집합 등에도 사용이 가능하다.

fruit = 'banana'
print('n' in fruit)
# True로 출력됨

- 문자열은 immutable하다!! 리스트는 mutable

print(greet.upper())
# 'HELLO'
print(greet)
# 'hello'
# greet 자체는 바뀌지않음

#리스트와 차이
a = [2,3]
a.append(4)
print(a)
# [2, 3, 4]

- 문자열 타입의 객체에서 사용할 수 있는 메소드

   * lower() : 소문자로

   * upper() : 대문자로

   * split() : 공백을 기준으로 나누기

   * strip() : 공백 제거 --> lstrip() : 왼쪽 공백 제거, rstrip() : 오른쪽 공백 제거

   * startswith() : 문자열이 특정문자로 시작되는지 확인 (맞다면 True, 아니면 False)