Ch2-3. 리스트 자료형

jhy·2022년 12월 23일
0

Python

목록 보기
5/5
post-thumbnail

1. 리스트 생성과 사용

  • 리스트 사용

    >>> odd = [1, 3, 5, 7, 9]
  • 리스트 생성

    • 대괄호([ ])로 감싸 주고 각 요솟값은 쉼표(,)로 구분

      리스트명 = [요소1, 요소2, 요소3, ...]
  • 여러 가지 리스트의 생김새

    >>> a = []
    >>> b = [1, 2, 3]
    >>> c = ['Life', 'is', 'too', 'short']
    >>> d = [1, 2, 'Life', 'is']
    >>> e = [1, 2, ['Life', 'is']]
    • a : 아무것도 포함하지 않아 비어 있는 리스트([ ])
    • b : 숫자를 요솟값으로 가짐
    • c : 문자열을 요솟값으로 가짐
    • d : 숫자와 문자열을 함께 요솟값으로 가짐
    • e : 리스트 자체를 요솟값으로 가짐
  • 즉 리스트 안에는 어떠한 자료형도 포함시킬 수 있음

비어 있는 리스트는 a = list()로 생성할 수도 있음

2. 리스트의 인덱싱과 슬라이싱

리스트의 인덱싱

  • 파이썬은 숫자를 0부터 셈
    • a[1]이 리스트 a의 첫 번째 요소가 아니라 a[0]이 리스트 a의 첫 번째 요소
    • a[-1] : 리스트 a의 마지막 요솟값
      >>> a[-1]
      3
  • 리스트 a를 숫자 1, 2, 3과 또 다른 리스트인 ['a', 'b', 'c']를 포함하도록 만들기

    >>> a = [1, 2, 3, ['a', 'b', 'c']]
    >>> a[0]
    1
    >>> a[-1]
    ['a', 'b', 'c']
    >>> a[3]
    ['a', 'b', 'c']
    • a[-1]은 마지막 요솟값 ['a', 'b', 'c']를 나타냄
    • a[3]은 리스트 a의 네 번째 요소
      • 마지막 요소를 나타내는 a[-1]과 동일한 결괏값
  • 리스트 a에 포함된 ['a', 'b', 'c'] 리스트에서 'a' 값을 인덱싱을 사용해 끄집어내기

    >>> a[-1][0]
    'a'
    • a[-1]이 ['a', 'b', 'c'] 리스트

    • 이 리스트에서 첫 번째 요소를 불러오기 위해 [0]을 붙여 준 것

      >>> a[-1][1]
      'b'
      >>> a[-1][2]
      'c'

리스트의 슬라이싱

  • 리스트의 슬라이싱
    >>> a = [1, 2, 3, 4, 5]
    >>> a[0:2]
    [1, 2]
    >>> a = [1, 2, 3, 4, 5]
    >>> b = a[:2]
    >>> c = a[2:]
    >>> b
    [1, 2]
    >>> c
    [3, 4, 5]
    • b 변수
      • 리스트 a의 첫 번째 요소부터 두 번째 요소인 a[1]까지 나타내는 리스트
      • 물론 a[2] 값인 3은 포함되지 않음
    • c 변수
      • 리스트 a의 세 번째 요소부터 끝까지 나타내는 리스트

3. 리스트 연산

리스트 더하기(+)

>>> a = [1, 2, 3]
>>> b = [4, 5, 6]
>>> a + b
[1, 2, 3, 4, 5, 6]
  • 리스트 사이에서 + 기호
    • 2개의 리스트를 합치는 기능

리스트 반복하기(*)

>>> a = [1, 2, 3]
>>> a * 3
[1, 2, 3, 1, 2, 3, 1, 2, 3]
  • [1, 2, 3] 리스트가 세 번 반복되어 새로운 리스트 생성

리스트 길이 구하기

>>> a = [1, 2, 3]
>>> len(a)
3
  • len 함수
    • 문자열, 리스트 외에 튜플과 딕셔너리에도 사용할 수 있는 함수

4. 리스트의 수정과 삭제

리스트 내 값 수정

>>> a = [1, 2, 3]
>>> a[2] = 4
>>> a
[1, 2, 4]

del 함수로 리스트 요소 삭제

>>> a = [1, 2, 3]
>>>del a[1]
>>> a
[1, 3]
  • del 함수
    • 파이썬이 자체적으로 가지고 있는 삭제 함수

    • del a[x]
      - x번째 요솟값을 삭제

      del 객체

객체 : 파이썬에서 사용되는 모든 자료형

  • 슬라이싱 기법을 사용하여 리스트의 요소 여러 개를 한꺼번에 삭제 가능

    >>> a = [1, 2, 3, 4, 5]
    >>>del a[2:]
    >>> a
    [1, 2]
  • 리스트의 요소를 삭제하는 방법 2가지

    • removepop 함수 사용

5. 리스트 관련 함수

append(x) 함수 : 리스트의 맨 마지막에 x를 추가

>>> a = [1, 2, 3]
>>> a.append(4)
>>> a
[1, 2, 3, 4]
  • 리스트 안에는 어떤 자료형도 추가 가능
  • 리스트에 다시 리스트 추가
    >>> a.append([5,6])
    >>> a
    [1, 2, 3, 4, [5, 6]]

sort 함수 : 리스트의 요소를 순서대로 정렬

>>> a = [1, 4, 3, 2]
>>> a.sort()
>>> a
[1, 2, 3, 4]
  • 문자 역시 알파벳 순서로 정렬 가능
    >>> a = ['a', 'c', 'b']
    >>> a.sort()
    >>> a
    ['a', 'b', 'c']

reverse 함수 : 리스트를 역순으로 뒤집어 줌

  • 이때 리스트 요소들을 순서대로 정렬한 다음 다시 역순으로 정렬하는 것이 아니라 그저 현재의 리스트를 그대로 거꾸로 뒤집음
    >>> a = ['a', 'c', 'b']
    >>> a.reverse()
    >>> a
    ['b', 'c', 'a']

index(x) 함수 : 리스트에 x 값이 있으면 x의 인덱스 값 리턴

>>> a = [1,2,3]
>>> a.index(3)
2
>>> a.index(1)
0

insert(a, b) 함수 : 리스트의 a번째 위치에 b를 삽입

  • 예시 : 0번째 자리, 즉 첫 번째 요소(a[0]) 위치에 값 4를 삽입하라
>>> a = [1, 2, 3]
>>> a.insert(0, 4)
>>> a
[4, 1, 2, 3]

remove(x) 함수 : 리스트에서 첫 번째로 나오는 x를 삭제

>>> a = [1, 2, 3, 1, 2, 3]
>>> a.remove(3)
>>> a
[1, 2, 1, 2, 3]
  • a가 3이라는 값을 2개 가지고 있을 경우 첫 번째 3만 제거
>>> a.remove(3)
>>> a
[1, 2, 1, 2]
  • remove(3)을 한 번 더 실행하면 다시 3이 삭제

pop() 함수 : 리스트의 맨 마지막 요소를 리턴하고 그 요소는 삭제

>>> a = [1,2,3]
>>> a.pop()
3
>>> a
[1, 2]
  • a 리스트 [1, 2, 3]에서 3을 끄집어내고 최종적으로 [1, 2]만 남음

  • pop(x) : 리스트의 x번째 요소를 리턴하고 그 요소는 삭제

    >>> a = [1,2,3]
    >>> a.pop(1)
    2
    >>> a
    [1, 3]
    • a.pop(1)은 a[1]의 값을 끄집어내어 리턴
    • 다시 a를 출력해 보면 끄집어낸 값이 삭제된 것을 확인

count(x) 함수 : 리스트 안에 x가 몇 개 있는지 조사하여 그 개수를 리턴

>>> a = [1,2,3,1]
>>> a.count(1)
2

extend(x) 함수 : x에는 리스트만 올 수 있으며 원래의 a 리스트에 x 리스트를 더함

>>> a = [1,2,3]
>>> a.extend([4,5])
>>> a
[1, 2, 3, 4, 5]
>>> b = [6, 7]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6, 7]
  • a.extend([4, 5])는 a += [4, 5]와 동일

    a += [4, 5]는 a = a + [4, 5]와 동일한 표현식

참고 : https://wikidocs.net/14

profile
서비스 기획자, PM 지망생

0개의 댓글