파이썬 독학하기 몇번째 시간이죠...?? 몇번 포스팅 하지도 않았는데 잘 기억이 안나네요 ㅎㅎ 뭐 여튼 오늘은 Sequence 자료형에 대해 알아보도록 하겠습니다. Sequence 의 의미는 순서입니다. 그러니 Sequence 자료형이라 함은 순서가 있는 자료형을 의미하겠죠. 앞에서도 살짝 알아보았지만 순서가 있는 자료형은 문자형, 리스트형이 있습니다.
파이썬에서는 순서를 index 라고 부릅니다. 'index 몇번' 뭐 이런식으로 말이죠. 이때 순서를 알기 때문에 index 몇번 이라고 하면 그 원소의 위치를 알수 있겠죠? 덕분에 우리는 인덱싱을 통해 우리가 원하는 위치에 있는 원소를 불러올 수 있습니다. 예시를 통해 알아보죠
7행에 'apple' 이라는 문자형 자료가 a 로 정의되어있습니다. 이때 apple의 알파벳들은 a 부터 순서대로 0,1,2,3,4 의 인덱스를 갖고 있습니다. 9행의 a[3] 이란 코딩의 의미는 'a라는 문자형 자료에서 3번 index에 있는 원소를 불러와라' 라는 의미입니다. 때문에 출력을 해보면 'apple' 의 index 3번인 'L' 이 출력되는 것이죠.
8행은 [1,2,3,4,5] 라는 원소를 가진 리스트형의 자료가 b 로 정의되어있습니다. 10행의 b[1:3]의 의미는 'b라는 리스트에서 index 1부터 index 3 미만의 원소를 불러와라' 라는 의미입니다. 즉 b 의 index 1~2 에 해당되는 [2,3] 이 출력되게 되는 것이죠. 이처럼 일정 범위의 원소를 불러오는 것을 파이썬에서는 슬라이싱이라고 부릅니다.
우리는 때로는 자료의 순서를 거꾸로 세고 싶을 경우도 있을것입니다. 그럴때는 index의 숫자 앞에 (-) 기호를 붙여주면 됩니다. 예를 들어 15행의 경우 위에서 정의한 'apple' 이라는 a 문자형 자료의 -1 index를 출력하라는 의미입니다. 이 경우 알파벳 e 가 문자형 자료의 마지막 원소이기 때문에, e가 출력되는 것을 확인할 수 있습니다.
또한 슬라이싱을 할때 시작점이나 마지막 인덱스의 자리를 비우는 것도 가능합니다. 예를 들어 16행의 경우 앞서 정의한 b 라는 리스트형 자료에서 슬라이싱을 해오는 경우입니다. 그런데 시작 index가 지정되어있지 않습니다. 이 경우 파이썬에서 자동으로 시작 index를 가장 앞에있는 원소로 지정하여 출력합니다. 때문에 출력해보면 index 0~2까지 해당하는 [1,2,3] 이 출력됨을 확인할 수 있죠.
in 연산자를 통해 정의한 자료안에 원소의 유무를 확인할 수 있습니다. 형태는 '확인하고자하는 원소 in 정의한 리스트' 를 갖습니다. 만약 확인하고자 하는 원소가 정의한 리스트 안에 있다면 파이썬은 True를 출력합니다. 없을 경우 False를 출력합니다.
21행의 예시를 보시죠. 앞서 정의한 a 라는 자료는 'apple' 이라는 문자형 자료를 갖습니다. 이때 21행에서는 'p' 라는 원소가 a 라는 자료안에 있는지 확인합니다. apple 에는 p 가 포함되어있으므로 파이썬은 True를 출력합니다.
22행의 경우 z 라는 원소가 apple 에 있는지를 확인하고 있습니다. 당연히 포함이 안되어있으므로 파이썬은 False를 출력합니다.
자료의 구성요소가 많은 경우 그 길이를 알수 없을때가 있습니다. 그럴 경우 우리는 len 함수를 통해 자료의 길이를 확인할 수 있습니다. 형태는 'len(확인하고자 하는 자료)' 를 갖습니다.
27행의 예시는 'a라는 문자형 자료의 길이를 확인하라' 라는 의미입니다. a는 apple이라는 문자형 자료로 5개의 원소로 구성되어있습니다. 때문에 len(a) 의 출력값은 5가 됩니다.
28행의 예시는 'b라는 리스트형 자료의 길이를 확인하라' 라는 의미입니다. b는 [1,2,3,4,5] 라는 5개의 원소로 구성되어있죠. 마찬가지로 5라는 값이 출력됩니다.
여기까지 Sequence와 관련된 연산자들에 대해 알아보았습니다. 파이썬 독학에 도움되셨으면 좋겠습니다.
읽어주셔서 감사합니다 ^_^
[파이썬 독학하기] while 문으로 반복문 만들기 (0) | 2020.01.15 |
---|---|
[파이썬 독학하기] for 문 & range 함수 연습하기 (0) | 2020.01.14 |
[파이썬 독학하기] list와 관련된 함수들 (0) | 2020.01.13 |
[파이썬 독학하기] if / elif / else 조건문 (0) | 2020.01.02 |
[파이썬 독학하기] 연산자와 인덱스 (0) | 2020.01.01 |