본문 바로가기
Program/Python

Python 문자열 명령어 적용 방법 02

by 시레엔 2017. 4. 20.
반응형

안녕하세요.

어제 Python 포스팅에서도 문자열 관련 명령어(http://www.trialso88.xyz/64)로 얘기를 했습니다. 그리고 어제 언급했던 것과 같이 이번에는 슬라이스Join, len, Split, Replace에 대한 포스팅으로 얘기하려고 합니다.


1. 슬라이스


Python 내에서의 슬라이스 명령어는 하나의 변수 안에 다수의 문자열이 존재할때, 문자열의 하나 하나를 선택하는 것이 아니라 범위로 설정하는 것을 의미합니다. 이런 범위를 설정하는 것은 ' : '으로 구분하여 나타냅니다. 아래 예제를 보면서 슬라이스에 대한 포스팅을 계속 진행해보도록 하겠습니다.


>>> a='abcdefg'

>>> a[:]

'abcdefg'

>>> a[ 1 :]

'bcdefg'

>>> a[ 4 : 7 ]

'efg'

>>> a[ -3 : ]

'efg'

>>> a[ 0 : 4 : 2 ]

'ace'


위에 예시에서 보는 것과 같이 각 옵션에 의해서 연속적인 문자열의 범위를 도출할 수 있습니다. 그 법칙은 아래와 같은 조건을 통해 적용됩니다.


  • [ : ] 전체 범위를 추출한다.
  • [ start : ] start 번호부터 이후의 모든 문자열 추출한다.
  • [ : end ] 처음부터 end-1 번째의 문자열까지 추출한다.
  • [ start : end ] start 번호부터 end-1번째의 문자열까지 추출한다.
  • [ start : end : step ] start 번호부터 end-1번째 문자열까지 step만큼의 증분으로 추출한다.


2. len


len이라는 명령어는 변수가 가지고 있는 문자열의 길이를 숫자로 추출하는 명령어라고 생각하면 됩니다. 간단한 부분이기 때문에 예제만 하나 써보고 넘어가도록 하겠습니다.


>>> a='abcdefg'

>>> len(a)

7

>>> b=""

>>> len(b)

0


3. Split


위에서 언급한 len과 달리 split은 문자열의 특정한 함수를 말합니다. 문자열 함수의 적용방법은 string.function(arg)의 순으로 입력을 하게되며, string은 변수를 말하고, function split을 의미합니다. 여기서 split 문자열의 리스트를 나누는 기능을 하는 함수입니다. 그래서 argument 부분에는 나누는 기준이 되는 무엇인가를 넣어주면 됩니다. 이와 같은 정보를 통해 아래 예시에서 다시 알아보기로 하겠습니다.


>>> a='a b,c d,e f,g'

>>> a.split(',')

['a b', 'c d', 'e f', 'g']

>>> a.split()

['a', 'b,c', 'd,e', 'g']


위에서 언급한 것과 같이 split은 괄호 안의 argument를 이용하여 구분을 합니다. 하지만, 빈 괄호를 사용을 하면, 줄바꿈, 간격, 탭과 같은 특정 공백 문자를 이용하여 구분을 합니다. 그래서 위의 2번째 예제와 같이 'b,c'와 같은 구분을 만들게 되는 겁니다.


4. Join


Join 함수는 위에서 언급한 Split과 반대 성향을 갖는 함수입니다. split은 분리 작용을 하는 함수라면, Join결합을 시키는 함수입니다.

Join의 함수는 argument.function(string)이라고 생각하면 됩니다. 결국에 콤마로 구분을 한 것을 결합을 시킨다고 하면, ' , '.Join(a)라고 표현할 수 있습니다.


>>> a=['ab', 'cd', 'ef']

>>> b=','.Join(a)

>>> print(b)

['ab, cd, ef']


5. Replace


Replace의 함수는 말 그대로 대체한다는 의미입니다.

Replace 함수는 String.function( '기존 문자열' , '바꿀 문자열' )로 구성을 하여 명령어를 적용하게 됩니다. 또한, String.function( '기존 문자열' , '바꿀 문자열', 바꿀 횟수 )와 같이 적용될 수도 있다. 이것을 할때 주의할 점은 기존 문자열 'a'를 'aa'로 바꾼다고 한다면 반복 횟수에 따라 다른 단어 중간에 들어간 a를 바꿀 수도 있어서 원치 않는 결과를 도출할 수도 있다는 말입니다.


여기까지 문자열에 관한 포스팅을 마치겠습니다.

반응형

'Program > Python' 카테고리의 다른 글

[Python] Anaconda를 이용한 Jupyter notebook 실행  (1) 2017.07.14
[Python] Anaconda 설치 하기  (0) 2017.07.03
Python 문자열 명령어 적용 방법 01  (2) 2017.04.19
Python int 함수  (1) 2017.04.17
Python 기초 (Object와 Class)  (0) 2017.04.15

댓글