본문 바로가기

파이썬

파이썬 Sequence 자료형 이해하기 2(문자열 메소드와 리스트)

반응형

파이썬 Sequence 자료형 이해하기 2

 

문자열에 메소드 적용하기

문자열 클래스에는 다양한 기능을 할 수 있는 메소드가 많습니다. 문자열 객체에 메소드를 실행하면 원래 문자열을 바꾸지 않고 항상 새로운 문자열 객체를 만듭니다.

이전 포스팅

 

 

문자열 객체 내의 메소드 알아보기

리터럴 표기법으로 문자열 객체를 하나 생성하고 이 문자열을 재사용하기 위해 변수  x에 할당합니다. 할당된 변수 x를 넣고 내부에 저장된 문자열 객체를 확인합니다.

 

문자열 객체에서 메소드를 사용하는 방법은 다음과 같습니다. 문자열 객체나 문자열 객체가  할당된 변수에 점을 쓰고 메소드 이름을 쓰면 됩니다. ‘뽀삐.짖는다’ 기억나죠? 메소드 괄호에 값을  넣어서 실행해야 하는 경우가 있습니다. 괄호에 넣는 값을 인자라고 합니다.

 

메소드에는 문자열에 어떤 문자가 몇 개 들어갔는지 세는 count 메소드, 어떤 문자가 어디에  있는지 알 수 있는 index, rindex 메소드가 있습니다. 그리고 문자를 검색해서 문자가 있으면  인덱스를 알려주는 find, rfind 메소드도 있습니다.

메소드 앞에 r이 있으면 역방향으로 처리하지만, 인덱스 정보는 순방향인 정수로 표시하는 것을 알  수 있습니다.

 

x.count(‘l’) 명령어는 변수 x에 할당된 문자열에 ‘l’ 문자가 몇 개인지 알 수 있습니다. x.index(‘l’)  명령어는 변수 x에 할당된 문자열에 ‘l’ 문자가 몇 번째 있는지 알 수 있습니다. 문자가 여러 개  있는 경우에는 가장 앞에 있는 문자의 위치를 알려줍니다.

 

x.rindex(‘l’) 명령어는 변수 x에 할당된 문자열에 ‘l’ 문자가 몇 번째에 있는지 알 수 있습니다. r이  붙었으니 역방향으로 문자를 찾겠죠? 문자가 여러 개 있으면, 가장 뒤에 있는 문자의 위치를  알려줍니다.

 

메소드를 이용해서 여러 개의 문자열을 합치거나, 하나의 문자열을 여러 개의 문자열로 나눌 수 있습니다. 먼저 여러 개의 문자열을 합쳐 보겠습니다. 

 

문자열을 합칠 때는 join 메소드를 사용하면 됩니다. join은 ‘합친다, 결합한다’라는 뜻입니다. “합칠 때 사용할 문자”.join(합칠 문자열)

 

반대로 문자열을 나눌 수도 있습니다. 이때는 split 메소드를 사용합니다. split은 ‘나누다, 쪼갠다’는 뜻입니다. 문자열.split(‘나눌 문자’) 메소드의 인자(argument)로 어떤 문자를 기준으로 문자열을 나눌지 알려줘야 합니다.

 

“hello,world”.split(‘,’) 명령어는 쉼표(,)를 기준으로 문자열을 나누라는 뜻입니다. 그러면 ‘hello’와 ‘world’로 나뉩니다. 이렇게 나뉜 문자열은 리스트에 저장됩니다. 대괄호([  ])가 보이나요? strip 메소드는 문자열 앞뒤에 있는 공백을 제거합니다.

 

strip 앞에 r과 l을 붙여서 문자열의 오른쪽(right) 공백이나 왼쪽(left) 공백만 없앨 수 있는 rstrip 메소드, lstrip 메소드도 있습니다.

 

리스트 알아보기

리스트는 데이터를 여러 개 저장할 수 있는 자료구조입니다. 이런 자료구조를 배열이라고 합니다. 리스트 객체를 만들면 문자열 객체처럼 인덱스(순서)로 값을 찾을 수 있습니다. 리스트 객체에 값을 더 넣을 때는 메소드를 사용해야 합니다.

 

파이썬 리스트는 다른 배열과 달리 파이썬에서 만든 모든 자료형을 저장할 수 있습니다. 이는 최상위 클래스인 object를 상속한 모든 것을 저장할 수 있다는 뜻입니다.

 

리터럴 표기법으로 리스트 객체를 만들 수 있습니다. 리스트에 들어가는 값을 ‘원소’라고 합니다. 리스트 객체에는 원소를 더 넣을 수 있습니다.

 

먼저 빈 리스트 객체를 만들어 봅시다. 빈 리스트 객체를 리터럴 표기법으로 만들면 대괄호 내에 아무런 값(원소)을 쓰지 않습니다. 빈 리스트를 변수에 바인딩해도 리스트 객체이므로 저장이 됩니다.

 

변수 l을 셀에 적고 실행해볼까요? 빈 리스트를 가리키는 것을 볼 수 있습니다. 

 

list()를 실행하면 결과는 빈 리스트의 객체와 같습니다. 변수 l의 값(원소)을 확인하기 위해 len 함수에 인자로 넣어볼까요? len 함수를 써서 리스트에 값이 몇 개 들어있는지 확인할 수 있습니다. 빈 리스트이므로 0을 표시합니다.

 

문자열 객체도 문자(원소)가 몇 개 들어있는지 확인할 때는 len함수를 사용합니다.  문자열과 리스트 모두 배열이므로 같은 기능을 사용하는 것입니다.

 

이번에는 리터럴 표기법으로 원소가 5개인 리스트 객체를 만들어서 변수 ll에 할당합니다.

 

문자열 객체를 리스트 객체로 만들 수도 있습니다. list 함수를 쓰면 됩니다. 문자열의 문자 하나하나가 리스트 객체에 저장됩니다.

 

문자열 객체에 덧셈(+) 연산자와 곱셈(*) 연산자를 사용하는 방법을 배웠습니다. 리스트 객체에서는 어떻게 될까요? 리스트를 더하면 두 개의 리스트가 하나로 합쳐집니다.

 

리스트에 숫자(정수) 곱하면 곱한 수 만큼 반복하여 새로운 리스트를 만듭니다.

 

이 포스팅은 <반드시 알아야 할 파이썬 입문 A to Z> 책의 내용입니다. 관심있는 분은 아래 링크를 클릭하길 바랍니다.

 

반응형