[Python] 시퀀스 자료 활용하기

    리스트, 튜플 , range, 문자열들은 모두 값이 연속적으로 이어져 있다.

    파이썬에서는 이처럼 값이 연속적으로 이어진 자료형을 시퀀스 자료형이라고 부른다.

     

     

     

    시퀀스 자료형의 가장 큰 특징은 공통 동작과 기능을 제공 한다.

     

     

     

    특정 값이 있는지 확인  in

    a = [0, 10, 20, 30]
    30 in a

    >>>True

     

     

    값이 있을 경우 True, 없을 경우 False가 발생한다.

     

    반대로 not을 넣을 경우 결과값은 반대로 된다.

    위와 같이 실행 햇을때

     

    a = [0, 10, 20, 30]
    30 not in a

    >>>False

     

    not은 결과값을 뒤집는다.

     

     

     

    시퀀스 연결기  +

    a = [0, 10, 20, 30]
    b = [9, 8, 7]
    a + b

    >>>[0, 10, 20, 30, 9, 8, 7]

     

    시퀀스는 + 를 통해 서로 연결 할 수가 있다.

     

    단, 시퀀스 자료형 중에서 range는 +를 통해 연결 할 수가 없다.

    list(range(0, 10))+list(range(10, 20))

    그래서 range는 list나 혹은 tuple을 사용해서 연결을 해야 한다.

     

     

     

     

    시퀀스 객체 반복하기 *

    시퀀스 객체를 * 한 수 만큼 반복하게 만들 수 있다.

    [10, 20] *3

    >>>[10, 20, 10, 20, 10,2 0]

     

    해당 시퀀스의 결과를 3번 반복하게 만들었다.

    여기서도 range는 *를 사용 할 수가 없다.

    그러므로 list나 tuple을 사용해서 이용해야 한다.

    list(range(0, 5, 2)) *3

    [0, 2, 4, 0, 2, 4, 0, 2, 4]

     

     

     

    시퀀스의 객체 요소 개수 구하기  len(시퀀스 객체)

    시퀀스 객체는 여러개가 들어 있다. 그 길이를 구할 때는 len()을 사용한다.

    a = [10, 20, 30]
    len(a)

    >>>3

     

    a의 시퀀스에는 값이 3개 들어 있으므로 결과값은 3이 나온다.

    이의 활용법은 또 있다.

    len(range(0, 10, 2))

    >>>5

     

    range를 사용할 경우 위에 해당하는 결과값의 갯수는 5개다. 따라서 결과도 5가 나온다.

     

     

     

     

    인덱스  사용하기  시퀀스이름[인덱스]

    시퀀스의 객체는 순서가 정해져 있으며, 이를 인덱스라고 한다.

    시퀀스이름[인덱스] 가 그 방법이다.

     

    a = [0, 10, 20, 30]
    a[0]

    >>> 0

    0은 제일 처음의 인덱스이며 a 시퀀스의 제일 처음은 0이다. 따라서 0이 출력 된다.

    a의 요소는 4개지만, 0부터 시작하므로 0부터 3까지만 사용 할 수 있다.

     

     

    인덱스 음수

    a = [0, 10, 20]
    a[-1]

    >>> 20

     

    그러나 파이썬은 음수 인덱스도 존재한다.

    위의 예시는 4개이므로 -1 부터 -4 까지가 존재한다.

     

    이제 위에서 배운 것과 잘 활용을 하게 된다면

    a[len(a)-1]
    a[len(a)*-1]

    양수 일 경우 -1을 음수일 경우에는 *-1을 붙이면 양수와 음수의 인덱스 끝 지점에 도달 할 수가 있다.

     

     

     

    여기서 조심해야 할 점은 인덱스가 정해진 값보다 높으면 오버플로우, 낮으면 언더플로우가 발생한다.

     

     

     

    요소에 값 할당하기

    a = [0, 0, 0]
    a[0] = 10
    a[1] = 40
    a[2] = 50

    지정 한 인덱스에 값을 넣을 경우에 얼마든지 값을 변경 할 수가 있다.

     

    단, 인덱스의 특징은 오버플로우, 언더플로우가 존재하므로 정해진 갯수 이상에는 지정 할 수가 없다.

    마찬가지로 tuple,  range, 문자열도 변경 할 수가 없다.

    이는 이들의 특징상 변경 할 수가 없으므로 반드시 캐스팅 후 이용해야 한다.

     

     

    요소를 삭제하기  del()

    a = [10, 20, 30]
    del a[1]

    >>> [10, 30]

     

    del을 사용 할 경우 시퀀스의 요소를 삭제 할 수가 있다.

    그러나 tuple, range, 문자열은 삭제 할 수가 없으므로 주의 해야 한다.

     

     

     

    슬라이스 사용하기

    시퀀스 자료형은 슬라이스라는 기능을 자주 사용한다.

    슬라이스는 우리의 일상 처럼 자른다는 의미를 보인다.

    반응형

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

    [Python] if 사용하기  (0) 2020.10.13
    [Python] 딕셔너리 사용하기  (0) 2020.10.13
    [Python] 11장 시퀀스  (0) 2020.10.12
    [Python] 10장 배열  (0) 2020.10.12
    [Python] 9장 Blooean  (0) 2020.10.12

    댓글

    Designed by JB FACTORY