Notice
Recent Posts
Recent Comments
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags
more
Archives
Today
Total
관리 메뉴

웹프로그래밍

파이썬공부 python 본문

프로그래밍일반

파이썬공부 python

공부모드 2016. 7. 13. 05:41

1. 문자열 인덱싱

 

인덱싱(indexing)이란 무엇인가를 ‘가리킨다’는 의미이고, 슬라이싱(slicing)은 무엇인가를 ‘잘라낸다’라는 의미이다. 이것들을 생각하면서 다음의 예를 따라해 보도록 하자.

  1. >>> a = "Life is too short, You need Python"

 

  1. Life is too short, You need Python
    0         1         2         3 
    0123456789012345678901234567890123


각 문자열의 문자마다 번호를 매겨 보았다. 즉 "Life is too short, You need Python"이라는 문자열에서 'L'은 첫 번째 자리를 뜻하는 숫자인 0을 바로 다음인 'i'는 1을 이런식으로 계속 번호를 붙인 것이다. 중간쯤에 있는 "short"의 s는 12라는 번호가 된다.

 

그리고 다음 예를 실행해 보자.

  1. >>> a = "Life is too short, You need Python"
    >>> a[3]
    'e'

 

2. 문자열 슬라이싱

 >>> a = "Life is too short, You need Python"이라는 것을 먼저 수행한 뒤 다음의 예제들을 따라하도록 하자)
  1. >>> a[0:4]
    'Life'


a[0:4]가 뜻하는 것은 a라는 문자열 즉, "Life is too short, You need Python"이라는 문장에서 0부터 4까지의 문자를 뽑아낸다는 뜻이다. 하지만 다음과 같은 의문이 들 것이다.

a[0]은 'L', a[1]은 'i', a[2]은 'f', a[3]은 'e'이니까 a[0:3]만으로도 'Life'라는 단어를 뽑아낼 수 있지 않을까?

다음의 예를 보도록 하자.

  1. >>> a[0:3]
    'Lif'


이렇게 되는 이유는 간단하다. a[시작번호: 끝번호] 처럼 쓰면 끝번호에 해당하는 것은 포함이 되지 않는다.

a[0:3]을 수식으로 나타내면 다음과 같다.

0 <= a < 3


즉 위의 수식을 만족하는 a는 a[0], a[1], a[2] 일 것이다. 따라서 a[0:3]은 'Lif'이고 a[0:4]는 'Life'가 되는 것이다. 이 부분이 문자열 연산에서 가장 혼동하기 쉬운 부분이니 스스로 많이 연습해 보기를 바란다.

 

3. 리스트 수정

 예 1) 리스트 수정1
  1. >>> a = [1, 2, 3]
  2. >>> a[2] = 4
  3. >>> a
  4. [1, 2, 4]

 

a[2]의 요소값 '3'을 '4'로 바꾸었다.

 

예 2) 리스트 수정2

  1. >>> a[1:2]
    [2]
    >>> a[1:2] = ['a', 'b', 'c']
  2. >>> a
    [1, 'a', 'b', 'c', 4]

 

a[1:2] 는 a[1]부터 a[2]까지를 말하는데 a[2]를 포함하지 않는다고 했으므로 a = [1, 2, 4]에서 2값만을 말한다. 즉, a[1:2]를 ['a', 'b', 'c']로 바꾸었으므로 a 리스트에서 2라는 값대신에 ['a', 'b', 'c']라는 값을 대입하게 되는 것이다.

 

참고 - 여기서 a[1] = ['a', 'b', 'c']라고 하는 것과는 전혀 다른 결과값을 갖게 되므로 주의 하도록 하자. a[1] = ['a', 'b', 'c']는 리스트 a의 두 번째 요소를 ['a', 'b', 'c']로 바꾼다는 말이고 a[1:2]는 a[1]에서 a[2]사이의 리스트를 ['a', 'b', 'c']로 바꾼다는 말이다. 따라서 a[1] = ['a', 'b', 'c']처럼 하면 위와는 달리 리스트 a가 [1, ['a', 'b', 'c'], 4]라는 값으로 변하게 된다.

 

 

 

 

출처http://wikidocs.net/mybook/35

Comments