2010. 7. 31. 17:35

1. 문자열

  • 문자열은 문자들(텍스트)를 표현하기 위한 자료형이다.
  • 단일 인용부호('') 혹인 이중인용부호("") 안에 묶여진 문자들의 모임.

>>> print 'Hello World!'

Hello World!

>>> print "Hello World!"

Hello World!

  • 인덱싱(indexing)으로 각각의 문자를 취할 수 있다.

>>> s = "Hello World!"

>>> s[-2]

'd'

  • 슬라이싱(slicing)으로 부분 문자열을 취할 수 있다.

>>> s[1:3]

'el'

>>> s[0:5]

'Hello'

  • 슬라이싱의 시작 위치가 생략되면 '처음부터', 마지막 위치가 생략되면 '끝까지'의 의미

>>> s = 'Hello'

>>> s[1:]

'ello'

>>> s[:3]

'Hel'

  • 슬라이싱은 세가지 값을 갖을 수 있다.[start:stop:step] (확장슬라이스(extended slice))
  • 파이썬 2.3부터는 내장 시퀀스 자료형에 몇 단계를 건너뛸까를 정하는 step이 지원.
  • 시퀀스 자료형인 문자열, 리스트, 튜플에 모두 적용.

>>> s = 'abcd'

>>> s[::2] # 2칸 단위로

'ac'

>>> s[::-1] # 거꾸로

'dcba'

  • 연결(+)과 반복(*)의 연산도 적용.

>>> 'Hello' + ' ' + 'World'

'Hello World'

>>> 'Hello' * 3

'HelloHelloHello'

>>> '-' * 60

'------------------------------------------------------------'

 

  • 문자열은 값이 변경되지 않는다.

>>> s = 'Hello World'

>>> s[0] = 'h'

Traceback (most recent call last):

File "<pyshell#16>", line 1, in <module>

s[0] = 'h'

TypeError: 'str' object does not support item assignment

  • 만일 문자열 변경을 원하면 슬라이싱과 연결하기를 이용.

>>> s = 'h' + s[1:]

>>> s

'hello World'

 

2. 리스트

  • []를 사용하는 리스트는 임의의 객체를 저장하는 집합적 자료형.
  • 각 자료는 순서를 가지고 있고, 순서에 의해서 접근.

>>> L = [1,2,3] # 세개의 자료를 갖는 리스트

>>> len (L) # 데이터 개수

3

>>> L[1] # 두번째 자료. 옵셋은 0부터 시작함.

2

>>> L[-1] # 마지막 자료.

3

>>> L[1:3] # 슬라이싱

[2, 3]

>>> L * 3

[1, 2, 3, 1, 2, 3, 1, 2, 3]

>>> L = range(10)

>>> L

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> L[::2] # 확장 슬라이스

[0, 2, 4, 6, 8]

>>> L[::-1] # 확장 슬라이스

[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

>>> L.append(4) # 리스트 마지막에 자료 추가

>>> L

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 4]

>>> del L[0] # 리스트 자료 삭제.

>>> L

[1, 2, 3, 4, 5, 6, 7, 8, 9, 4]

>>> L.reverse() # 리스트 순서를 거꾸로 바꾼다.

>>> L

[4, 9, 8, 7, 6, 5, 4, 3, 2, 1]

>>> L.sort() # 리스트를 오름 차순 정렬.

>>> L

[1, 2, 3, 4, 4, 5, 6, 7, 8, 9]

 

3. 튜플

  • ()를 사용하는 튜플도 문자열과 리스트와 유사한 특성을 가는다.

>>> t = (1,2,3)

>>> len(t)

3

>>> t[0]

1

>>> t[-1]

3

>>> t[0:2]

(1, 2)

>>> t[::2]

(1, 3)

>>> t + t + t

(1, 2, 3, 1, 2, 3, 1, 2, 3)

>>> t * 3

(1, 2, 3, 1, 2, 3, 1, 2, 3)

  • 튜플과 리스트의 차이 – 튜플은 값의 변경(X), 리스트는 값의 변경(O)
  • 또한 리스트는 다양한 메쏘드를 갖고, 튜플은 그렇지 않다.

>>> t = (1,2,3)

>>> t[0] = 100

Traceback (most recent call last):

File "<pyshell#89>", line 1, in <module>

t[0] = 100

TypeError: 'tuple' object does not support item assignment

 

>>> L = [1,2,3]

>>> L[1] = 200

>>> L

[1, 200, 3]

 

4. 사전

  • 사전은 옵셋이 아닌 키를 사용하여 값을 얻는 자료 구조.
  • 사전에 x라는 키(key)를 주면 값 y를 돌려준다.
  • 사전은 초기화할 때 {}를 사용. - 초기값은 키:값의 형태로 준다.

>>> d = {'one':'hana', 'two':'dul', 'three':'set'}

>>> d

{'three': 'set', 'two': 'dul', 'one': 'hana'}

>>> d['one']

'hana'

>>> d['four'] = 'net'

>>> d

{'four': 'net', 'three': 'set', 'two': 'dul', 'one': 'hana'}

>>> d['one'] = 1

>>> d

{'four': 'net', 'three': 'set', 'two': 'dul', 'one': 1}

  • 사전은 순서에 따라 요소들을 저장하지 않는다. (키에 의해서 값을 추출)
  • 사전을 -> 리스트나 튜플로 변환하는 것이 가능

>>> d = {'one':1, 'two':'dul', 'three':'set', 'four':'net'}

>>> d.keys() # 키만 리스트로 출력.

['four', 'three', 'two', 'one']

>>> d.values() # 값만 리스트로 추출.

['net', 'set', 'dul', 1]

>>> d.items() # 키와 값의 튜플을 리스트로 변환.

[('four', 'net'), ('three', 'set'), ('two', 'dul'), ('one', 1)]

 

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

◎ 자료형 확인과 기타의 자료형  (0) 2010.07.31
◎ 내장 자료형의 분류  (0) 2010.07.31
◎ 콘솔 입 .출력  (0) 2010.07.30
◎ 문자열로 된 파이썬 코드 실행하기  (0) 2010.07.30
◎ 파이썬 기초문  (0) 2010.07.30
Posted by devanix