ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Python] 02. 자료형#2
    코딩(Coding)/Python 공부 2021. 2. 4. 13:45
    728x90

    이 글은 제가 python을 공부하기위해 작성하는 글입니다. python을 어느정도 알고는 있는지만, 기회가 생겨서 같이 공부하는 분께 소개와 함께 자료를 준비한 것을 글로쓰는 것이기 때문에 설명이 누락된 부분이 있을 수 있습니다...


    wikidocs.net/14

     

    위키독스

    온라인 책을 제작 공유하는 플랫폼 서비스

    wikidocs.net

    리스트

    리스트 설명에 앞서 예를 들어보고자 한다. 사용자가 1~5까지의 숫자를 저장해야한다고 하자. 그럼 변수를 num1~num5까지 변수를 생성 할 수 있겠다. 그렇다면 1~10까지는 뭐 조금 귀찮아도 num1~num10까지 하면 생성할 수 있겠다. 그럼 1부터 100까지의 숫자를 저장해야한다면 또 num1~num100이런식으로 생성해야 할까?...

     

    이렇듯 변수들의 모음을 여러 변수들로 표현하기엔 한계가 생긴다. 따라서 python에선 리스트라는 자료구조을 제공한다.

    리스트는 "[ ]"로 표현한다. 빈 리스트를 표현할때에는 my_list = []같이 표현한다.

    리스트 - 인덱스 / 슬라이싱

    이전의 문자열(str)형을 설명할때 인덱싱/슬라이싱을 설명했던 것 처럼 리스트도 각각의 요소마다 인덱스 번호가 주어지고 각각의 요소에 접근할 수 있다.

    위 슬라이드 처럼 ['a','b','c','d','e','f','g','h','i','j'] 리스트가 선언되었을때 0번째, 3번째 8번째 인덱스는 각각 a, d, i이다.

     

    당연히 슬라이싱도 가능하다. "a:b"를통해 a부터 b-1번째 인덱스 요소까지 참조가 가능하다.

     

    리스트 - 연산

    리스트도 연산이 가능하다. 더하기(+) 연산은 서로 리스트를 연결해 주는 연산이고,

    곱하기(*) 연산은 해당 리스트를 반복하는 리스트를 반환하는 연산을 한다.

    리스트 - 수정

    리스트의 수정도 가능하다. 위 슬라이드 처럼 변경하고자하는 인덱스의 번호를 "[ ]"에 담아서 대입연산자로 값을 수정해주면 된다.

     

    리스트 - 삽입

    리스트의 삽입도 당연히 가능하다. 위 슬라이드 처럼

    my_list2 = ["Python", "is", "very", "esay"] 로 선언된 리스트에 append()함수와 insert()함수를 통해 요소를 삽입 할 수 있다.

     

    1. append(a): 해당하는 리스트의 마지막 인덱스에 a를 삽입한다.

    2. insert(a, b): 해당하는 리스트의 a번째 인덱스에 b를 삽입한다.

     

    리스트 - 삭제

    리스트의 삭제도 가능하다. del 키워드와 remove()함수가 그것이다.

    1. del : 후에 작성된 리스트의 요소를 삭제한다.(리스트 자체를 삭제하는 것도 가능)

    2. remove(x): 리스트의 처음(0번인덱스)부터 처음으로 발견된 x가 삭제된다.

     

    리스트 - 2/3/多 차원 리스트

    리스트는 기본자료형인 int, flaot, str뿐만 아니라 리스트를 포함 할 수 있다. 즉 리스트 안에 리스트가 들어있고 또 그 리스트 안에 다른 자료구조형이 삽입될 수 있는 것이다.

     

    two_D_list = [
    	[1,2,3],
        	[4,5,6],
        	[7,8,9]
        	]

    위 슬라이드를 보자 two_D_list는 가장 큰 리스트에 작은 리스트가 3개 들어있다. 이를 2차원 리스트라 하는데, 위에서 언급했듯이 리스트 안에 리스트가 포함되어 있는 모습이다. 아래 슬라이드를 보면 이해가 빠를 것이다.

    2차원 리스트를 표로 표현해 보았다. "[ ]"를 두개 사용하여 표현한다.

    two_D_list[0][1]은 two_D_list의 0번째 인덱스의 1번째 인덱스로 해석할 수 있다.

     

    다음은 3차원 리스트이다.

    three_D_list = [
        [
            [1,2,3],
            [4,5,6],
            [7,8,9]
        ],
        [
            ["a","b","c"],
            ["d","e","f"],
            ["g","h","i"]
        ]
    ]

    위 코드 처럼 선언된 3차원 리스트를 확인해보자 가장 큰 리스트 안에 2차원 리스트가 2개가 존재한다. 이해하기 어렵다면 아래 사진을 확인해 보자

    이 또한 "[ ]"를 3개를 사용해서 표현한다.

    three_D_list[0][1][1]은 three_D_list의 0번째 인덱스의 1번째인덱스의 1번째 인덱스라는 의미이다.(조금 난해한가...? ㅠ)

     

    이 뿐만 아니라 여러가지 방식으로 다차원 리스트를 표현할 수 있다.

    위 슬라이드를 참고하자!

     

    여기서 개인적인 의견은 대학생 수준의 실 코딩에서는 2차원 리스트가 가장 많이 사용되고 3차원 리스트는 드물게 사용된다. 추후에 for문, while문 등 반복문의 개념을 배우면 해당 다차원 리스트의 내용이 더욱 이해가 될 것이다.

    (만약 python을 처음 공부하시는 분이라면, 이 부분은 넘어가도 좋습니다!)

     


    python에서 가장많이 사용되는 list에 대한 내용입니다. 이 밖에 튜플이나 set, 딕셔너리가 존재하지만 다음 포스팅에서 다루기로 하겠습니다.

     

    위 ppt 자료는 아래 첨부합니다.

    01. 자료형#2.pdf
    0.54MB

    많이 부족한 자료입니다 ㅠㅠ, 위에 링크된 점프 투 파이썬 위키독스자료에서 설명된 대로 직접 실습하는 것이 제일 중요합니다!

    728x90

    '코딩(Coding) > Python 공부' 카테고리의 다른 글

    [Python] 01. 자료형#1  (0) 2021.01.29
    [Python] 0. 파이썬 설치  (0) 2021.01.22
    [Python] Python 공부  (0) 2021.01.05

    댓글

Designed by black7375.