본문으로 바로가기

Sequence Type(List, Tuple)

category SECURITY/Python 2017. 4. 6. 20:37


   Sequence Types (순서열 타입)


   1) 변경가능한 순서열 타입 (Mutable sequence Types)

 - list(array-배열), bytearray

 - 순서열 내에 원소를 변경할 수 있다.

 - 재지정이 가능하다.


   2) 변경 불가능한 순서열 타입 ( Immutable Sequence Types)

 - tuple, str, set, dict

 - 순서열 내에 원소의 내용을 변경할 수 없다.

 - 재지정이 불가능하다.




   공통 연산자

- list와 tuple 둘 다 사용하는 연산자

- x : 집합원소 s : string(list,tuple)

1) x in s    : string(list,tuple) 안에 있는 원소 x가 있으면 TRUE, 없으면 FALSE

EX) sample_1안에는 10이 있기 때문에 TRUE, 15는 list안에 없기 때문에 FALSE


2) s + t    : string(list)에 들어갈 원소를 추가하는 것이다.  tuple은 원소의 내용을 바꿀 수 없기에 이 연산자는 쓸 수 없다.

EX) sample_1에 60을 추가했습니다. 하지만 다시 sample_1을 확인해보면 기존의 것이 존재한다. 

     그 이유는 돌려주는 것이기때문에 바뀌지 않는 것이다.


3) s * n or n * s    : string(list)에 반복할 횟수 n을 추가하는 것이다.

EX) sample_1에 원소를 2번 반복했습니다. 2번과 마찬가지로 돌려주는 것이기떄문에 기존의 것이 존재합니다.


4) s[ i ]    : i는 기수표현. i는 0부터 시작합니다. 원소의 순서에 맞는 값을 표현합니다.

EX) sample_1을 기수 순서대로 표현해봤습니다.


5) s[ i : j ]    : (슬라이스) i는 시작위치, j는 끝나는 위치.  마지막원소는 포함되지 않는다. (닫혀있다.) 

EX) sample[0:2] = 첫번째 원소부터 두번째 원소까지 표현하는 것이다.

EX) sample[0:5] = 마지막원소까지 표현하려면 4가 아니라 5로 표현해야 한다. (닫혀있기 때문이다.)

      - 마지막 숫자는 개수로 표현하는 것이 편하다.

EX) sample[1:] = 두번째 원소부터 끝까지 표현하라는 의미이다.

     sample[:4] = 처음부터 네번째 원소까지 표현하라는 의미이다.

EX) lists라는 변수를 sample에 넣어주었습니다. 그리고 나서 lists의 첫번째 값을 변경하였더니 sample도 같이 바뀌게 되었습니다.

     그 이유는 한 list를 두개의 변수가 갖고 있기때문에 한 변수가 변경을 하면 다른 변수도 같이 변경되는 것입니다. 한마디로 같은 list 입니다.

EX) 똑같이 list라는 변수를 sample에 넣어주었습니다. 

     sample[:]는 처음부터 끝까지의 값을 넣어주라는 의미이기때문에 sample의 값을 list가 갖고 오게됩니다.

     그리고나서 lists의 첫번째 값을 변경하고나서 sample에서도 확인해보면 바뀌지 않은 것을 볼 수 있습니다. 

     한마디로 새로운 타입을 만들어주기때문에 전혀 다른 list가 되는 것입니다.


6) min(s)    : list나 tuple 안에 있는 값 중 최소값을 표현한다.


7) max(s)    : list나 tuple 안에 있는 값 중 최대값을 표현한다.


8) len(s)     : list나 tuple의 길이를 표현한다.

EX) sample의 최솟값, 최댓값, 길이를 표현했습니다.


9) s.index(x)    : x원소의 string 값의 순서를 나타내준다. 범위를 지정안했을 경우에는 처음부터 끝까지. 지정했을 경우 마지막원소는 닫혀있다.

EX) sample의 원소 30의 위치는 3번째임을 확인할 수 있다. 20의 원소는 첫번째 부터 세번째까지의 범위내에서는 첫번째임을 확인할 수 있다.


10) s.count(x)    : string에 있는 x원소의 갯수를 세어준다.

EX) 30의 원소는 2개임을 확인할 수 있다.




   list

1) s.append( x )    : list 안에 x의 원소를 맨 뒤에 추가하는 것이다. 형변환이 알아서된다.

EX) sample 안에 60이라는 원소를 추가했습니다.


2) s.extend( t ) or s += t    : list에 x의 원소를 추가하는 것이다. 타입을 맞춰 넣어줘야 한다.

EX) sample 안에 60 과 70을 추가했습니다.


3) s.insert( i, x )    : i(기수)부분에 x원소를 삽입하는 것이다.

EX) 10과 20 사이에 15를 삽입했습니다.


4) s.clear( )    : 내용을 삭제하는 것이다. = del s[ : ]

EX) sample의 list를 삭제했습니다.


5) s.copy( )    : 복사하는 것이다. = s[ : ]

EX) sample의 리스트를 변수 lists에 복사해서 출력했습니다.


6) s.pop( i )    : list안에 있는 기수 i번째의 원소를 꺼내와서 list안에는 그 원소가 삭제되는 것이다.

EX) sample안에 있는 30을 꺼내 sample안에는 원소가 삭제되는 것을 볼 수 있습니다.


7) s.remove( x )    : list안에 있는 원소를 삭제하는 것이다.

EX) sample 안에 있는 20을 삭제했습니다.


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

For문  (0) 2017.04.11
while문  (0) 2017.04.07
String Method  (0) 2017.04.06
if문  (0) 2017.04.05
논리 표현식  (0) 2017.04.05