본문 바로가기

파이썬

컬렉션 타입 - 리스트 (2024-03-13)

1. 컬렉션 타입

여러 개의 데이터 항목을 하나의 단위로 관리할 수 있게 해주는 데이터 구조를 의미합니다. 이것은 여러 개의 데이터를 하나의 변수에 저장하고, 관리할 수 있게 해줍니다. 파이썬에서는 리스트, 튜플, 세트, 딕셔너리 등이 기본적인 컬렉션 타입에 속합니다.

 

2. 리스트

여러 값들을 하나의 변수에 저장하고 관리할 수 있게 해주는 순차적인 자료구조입니다.
리스트의 항목들은 수정, 추가, 삭제 할 수 있다. 

 

 

  • 리스트의 선언과 타입 확인

※리스트는 대괄호 []를 사용한다. 내부의 요소들은 쉼표로 구분된다.

 

 

 

 

  • 인덱싱을 활용한 값, 타입 확인

※ 리스트의 각 항목은 인덱스를 가지고 있으며, 인덱스를 사용하여 접근할 수 있다. 인덱스는 0부터 시작

 

 

※ 두 리스트(li1, li2)가 같은 주소를 가르킴 

    li2에서 요소의 값을 바꾸면 li1 에서도 변함

 

 

  • 인덱싱과 슬라이싱
  요소를 리스트에 추가할 때 리스트에서 요소를 꺼내올 때
인덱싱 리스트가 한겹 추가 리스트가 한겹 벗겨짐
슬라이싱 데이터만 들어감  리스트가 그대로 나옴

    

 

 

 

 

 

  • 리스트의 나열

  • 리스트에 사용하는 함수와 메서드
# len() : 객체의 길이를 반환하는 파이썬 내장 함수
# append() : 리스트에 사용되며, 리스트의 끝에 새로운 요소를 추가 (1개의 요소만 가능)
# extend() : 리스트에 여러 요소를 추가 (리스트로 감싸서 넣어줘야함 / 결과값에는 리스트가 벗겨져서 들어감)
   ㄴ  li6 = [10, 20, 30]
        li6.extend([50])   ㅡ> [10, 20, 30, 50]
# pop() : 리스트 마지막 요소를 삭제하고 삭제된 요소를 반환
   ㄴ  temp = li6.pop()            #삭제된 요소를 temp라는 변수에 저장함
# insert(인덱스 번호, 값) : 리스트의 특정 인덱스에 요소를 한 개만 추가
# index() : 리스트에서 특정 값의 인덱스를 반환
# reverse() :  리스트의 요소들의 순서를 반대로 변경   ex) li1.reverse()
# 슬라이싱을 사용하여 리스트의 순서를 뒤집는 방법
   ㄴ [start : stop : step]
        start를 생락하면 -1로 간주
        stop을 생략하면 0으로 간주
        print(li7[::-1])   ㅡ>   li7[-1 : 0 : -1]     가장 뒤에서 부터 가장 앞 까지 -1 씩
# sort() : 리스트의 요소를 정렬
    ㄴ li7.sort()  # 오름차순
        li7.sort(reverse=True)  # 내림차순
# sorted() : 모든 요소를 정렬한 후 반환해주는 함수 (1회성 정렬이다? inplace 연산 되지 않는다.)
    ㄴ result = sorted(li7) # result 라는 변수에 sorted 값을 담아준다
         sorted(li7# 오름차순
         sorted(li7, reverse = True)  # 내림차순
# count() : 리스트에서 특정 요소의 갯수를 반환

 

  • [start : stop : step]

1. start: 슬라이스의 시작 인덱스입니다.  인덱스의 요소는 슬라이스에 포함됩니다. start 생략하면, step 양수이면 0, step 음수이면 -1 간주됩니다.

 

2. stop: 슬라이스의  인덱스입니다.  인덱스의 요소는 슬라이스에 포함되지 않습니다. stop 생략하면, step 양수이면 시퀀스의 , step 음수이면 시퀀스의 시작으로 간주됩니다.

 

3. step: 슬라이스의 스텝(증감) 값입니다. step 생략하면 1 간주됩니다.