ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [코딩도장] day5. 파이썬 시퀀스 자료형(1) - in, +, * 연산자
    IT/파이썬 2020. 8. 7. 23:59

    출처 : unsplash

     

    ■ 들어가기

    - 파이썬 코딩 도장 (남재윤/길벗). 을 공부하며 정리하는 블로그


    ▶ Unit11. 시퀀스 자료형 활용하기

    1. 개요

    - 리스트 : [0, 10, 20, 30, 40, 50]

    - 튜플 : (38, 76, 53, 62, 19)

    - range : range(5) == 0 ~ 4

    - 문자열(str) : 'Hello'

    => 파이썬에서 위와 같이 값이 연속적으로 이어진 자료형을 "시퀀스 자료형(sequence types)" 이라 부름


    2. 시퀀스 자료형의 공통 기능

    - 시퀀스 자료형으로 만든 객체를 "시퀀스 객체"라 부름

    - 시퀀스 객체에 들어있는 각 값을 "요소(element)"라 부름

    - 시퀀스 자료형의 특징 : "공통 동작", "공통 기능"

     

    2.1 특정 값이 있는지 확인

    - 사용법1: 값 in 시퀀스객체

    - 특정 값이 있으면 True, 없으면 False 를 리턴

    >>> a = list(range(0,91,10))
    >>> a
    [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
    >>> 30 in a
    True
    >>> 100 in a
    False

    - 사용법2: 값 not in 시퀀스객체

    - 특정 값이 없으면 True, 있으면 False 를 리턴

    >>> 100 not in a
    True
    >>> 30 not in a
    False
    >>>
    >>> 43 in (38,76,43,62,19)      # 튜플
    True
    >>> 1 in range(10)              # range
    True
    >>> 'P' in 'Hello, Python'      # 문자열
    True


    2.2 시퀀스 객체 연결하기

    - 시퀀스 객체는 + 연산자를 사용하여 객체를 서로 연결하여 새 객체를 만들 수 있음

    - 사용법: 시퀀스객체1 + 시퀀스객체2

    >>> a = list(range(0,31,10))
    >>> b = list(range(9,5,-1))
    >>> print(a); print(b)
    [0, 10, 20, 30]
    [9, 8, 7, 6]
    >>> a + b
    [0, 10, 20, 30, 9, 8, 7, 6]

    - 단, range는 + 연산자로 객체 연결 불가. 리스트 또는 튜플로 만들어 연결!

    >>> range(0,10) + range(10,20)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: unsupported operand type(s) for +: 'range' and 'range'
    >>> list(range(0,10)) + list(range(10,20))
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
    >>> tuple(range(0,10)) + tuple(range(10,20))
    (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)

    - 문자열은 + 연산자로 여러 문자열 연결 가능

    - 단, 문자열과 숫자타입(int, float, ..) 은 + 연산자로 연결 불가. 이때 숫자를 str()를 사용해서 '문자열'로 변환 후 연결 가능함.

    >>> 'Hello' + 'World!'
    'HelloWorld!'
    >>> 'Hello, ' + "World!"
    'Hello, World!'
    >>> 'Hello, ' + 10
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: can only concatenate str (not "int") to str
    >>> 'Hello, ' + str(10)
    'Hello, 10'

     

    2.3 시퀀스 객체 반복

    - 사용법1: 시퀀스객체 * 정수

    - 사용법2: 정수 * 시퀀스객체

    - * 연산자는 시퀀스 객체를 특정 횟수만큼 반복하여 새 시퀀스 객체를 생성

    >>> [0,10,20,30] * 3
    [0, 10, 20, 30, 0, 10, 20, 30, 0, 10, 20, 30]
    >>> list(range(0,31,10)) * 3
    [0, 10, 20, 30, 0, 10, 20, 30, 0, 10, 20, 30]

    - 단, range는 + 연산자와 마찬가지로 * 연산자도 사용 불가. 리스트 또는 튜플로 만들어서 반복 처리

    >>> list(range(0,5,2)) * 3
    [0, 2, 4, 0, 2, 4, 0, 2, 4]
    >>> tuple(range(0,5,2)) * 3
    (0, 2, 4, 0, 2, 4, 0, 2, 4)

    - 문자열은 * 연산자로 반복 처리 가능

    >>> 'Hello, ' * 3
    'Hello, Hello, Hello, '

     

    댓글

Designed by Tistory.