ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 7. 리스트와 튜플 사용하기
    Python/Grammar 2022. 12. 1. 12:51

    # 1. 리스트 만들기

    변수에 값을 저장할 때 대괄호로 묶어주면 리스트가 되고, 리스트 안의 각 요소(element)는 콤마로 구분해준다.  

    1-1. 리스트에 여러가지 자료형 저장하기

    : 리스트는 문자열, 정수, 실수, 불 등 모든 자료형을 저장할 수 있으며, 여러 가지 자료형을 섞어서 저장해도 된다.

    >>> a = [1, 1.0, 'hello', True]
    >>> a
    [1, 1.0, 'hello', True]
    >>> type(a[2])
    <class 'str'>
    >>> type(a[3])
    <class 'bool'>

     

    1-2. range를 사용해 리스트 만들기

    • list(range(횟수)): 지정한 횟수(0~지정한 횟수 -1)만큼 숫자를 생성 
    • list(range(시작, 끝)): 시작으로 지정한 숫자부터 끝으로 지정한 숫자 -1까지 연속된 숫자를 생성
    • list(range(시작, 끝, 증가폭)): 증가폭까지 지정하면 해당 값만큼 증가하면서 숫자를 생성

         * 증가폭을 음수로 지정하면 해당 값만큼 감소하는 숫자를 생성할 수 있음.

    # 0부터 9까지 연속적인 숫자 리스트 생성
    >>> a = range(10)
    >>> print(type(a))
    <class 'range'>
    
    >>> a = list(range(10)) # list()함수로 빈 리스트를 만들고 그 안에 range()함수를 이용해 요소를 채워넣는다.
    >>> print(a)
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> print(type(a))
    <class 'list'>

     

    # 2부터 13까지의 숫자를 가진 리스트 생성
    >>> a = list(range(2, 14))
    >>> print(a)
    [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]

     

    # 2부터 13까지 3씩 증가하는 숫자를 가진 리스트 생성
    >>> a = list(range(2, 14, 3))
    >>> print(a)
    [2, 5, 8, 11]

     

    # 20부터 11까지 감소하는 리스트 생성
    >>> a = list(range(20, 10, -1))
    >>> print(a)
    [20, 19, 18, 17, 16, 15, 14, 13, 12, 11]

     

    # 2. 튜플 사용하기

    튜플은 리스트와 동일한 기능을 하나 튜플 안에 저장된 요소를 변경, 추가, 삭제할 수 없다는 특징이 있다. 즉, 읽기 전용이다. 변수에 값을 저장할 때 소괄호로 묶어주면 튜플이 되며, 각 값은 콤마로 구분해준다. 콤마로 구분한 값들은 소괄호로 묶어주지 않아도 튜플이 된다. 

    튜플도 리스트처럼 여러 가지 자료형을 가진 요소들을 포함할 수 있다.

    >>> a = (1, 2, 3, 4, 5)
    >>> print(a)
    (1, 2, 3, 4, 5)
    
    >>> a = 1, 2, 3, 4, 5
    >>> print(a)
    (1, 2, 3, 4, 5)

     

    2-1. 요소가 한 개 들어있는 튜플 만들기

    : 요소가 한 개 들어있는 튜플을 만들기 위해서는 요소 다음에 꼭 콤마를 붙여줘야 한다. 콤마를 붙이지 않으면  요소 자체가 할당된다. 괄호 속에 넣지 않고 콤마만 붙여도 튜플을 만들 수 있다. 

     

    >>> a = (1)
    >>> print(type(a))
    <class 'int'>
    
    >>> a = (1, )
    >>> print(type(a))
    <class 'tuple'>
    
    >>> a = 1,
    >>> print(type(a))
    <class 'tuple'>

     

    2-2. range를 사용해 튜플 만들기

    • 튜플 = tuple(range(횟수))

      ※ range를 사용해 리스트 만드는 방법과 같다.

     

     

    # 3. 리스트와 튜플 응용하기

    3-1. 리스트를 튜플로 만들고 튜플을 리스트로 만들기

    • tuple() 안에 리스트를 넣으면 리스트를 튜플로 만들 수 있다.
    • list() 안에 튜플을 넣으면 튜플을 리스로 만들 수 있다.
    # 리스트를 튜플로
    >>> a = [1, 2, 3]
    >>> print(tuple(a))
    (1, 2, 3)
    
    # 튜플을 리스트로
    >>> a = (1, 3, 4)
    >>> print(list(a))
    [1, 3, 4]

     

    3-2. 문자 튜플, 문자 리스트 생성하기

    : list와 tuple 안에 문자열을 넣는다.

    • list('문자열')
    • tuple('문자열')
    >>> a = 'HELLO'
    >>> print(list(a))
    ['H', 'E', 'L', 'L', 'O']
    
    >>> a = 'BYE'
    >>> print(tuple(a))
    ('B', 'Y', 'E')

     

    3-3. 리스트와 튜플로 여러 개의 변수 만들기

    : 리스트와 튜플을 사용하면 변수 여러 개를 한 번에 만들 수 있다. 이 때 변수의 개수와 리스트/튜플의 요소 개수는 같아야 한다.

    >>> a, b, c = (1, 2, 3)
    >>> print(a, b, c)
    1 2 3

     

    3-4. 리스트와 튜플 변수로 여러 개의 변수 만들기

    : 리스트 / 튜플 "언패킹(Unpacking)"을 통해 리스트나 튜플의 요소를 변수 여러개에 할당할 수 있다.

     ( 반대로 패킹(Packing)은 변수에 리스트 또는 튜플을 할당하는 과정을 의미 )

    >>> x = [1, 2, 4]
    >>> a, b, c = x # 수동으로 리스트 x를 언패킹
    >>> print(a, b, c)
    1 2 4
    >>> print(*x) # 애스터리스크를 사용하여 리스트 x를 언패킹
    1 2 4         # 수동으로 언패킹한 결과와 똑같음

     

     

    # 예제 1. range로 리스트 만들기 (본문 10.4 연습문제)

    다음 소스 코드를 완성하여 리스트 [5, 3, 1, -1, -3, -5, -7, -9]가 출력되게 만드세요. 리스트를 만들 때는 range를 사용해야 합니다.

    a = list(range(5, -10, -2))
    print(a)

     

     

    # 예제 2. range로 튜플 만들기 (본문 10.5 심사문제)

    표준 입력으로 정수가 입력됩니다. range의 시작하는 숫자는 -10, 끝나는 숫자는 10이며 입력된 정수만큼 증가하는 숫자가 들어가도록 튜플을 만들고, 해당 튜플을 출력하는 프로그램을 만드세요(input에서 안내 문자열은 출력하지 않아야 합니다).

    a = int(input()) # input으로 입력받은 값의 자료형은 문자열이므로 int함수를 사용해 정수로 형변환
    print(tuple(range(-10, 10, a)))

     

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

    9. 딕셔너리 만들기  (0) 2022.12.02
    8. 시퀀스 자료형 사용하기  (0) 2022.12.01
    6. 문자열 사용하기  (0) 2022.11.30
    5. 불과 비교, 논리 연산자 알아보기  (0) 2022.11.30
    4. 출력 방법 알아보기  (0) 2022.11.29

    댓글

Designed by Tistory.