반응형
컨테이너 자료형
- 컨테이너 자료형 : 데이터 집합체
- 여러 데이터를 묶어서 저장하고 관리할 때 사용한다.
- 상위 개념으로 데이터들을 묶을 때 사용한다. ex) 과일=복숭아,사과 / 필기구=연필,지우개
- list(리스트), tuple(튜플), dictionary(딕셔너리)가 있다.
list(리스트)
- 같은 유형의 데이터를 순차적으로 나열할 때 사용하고 메모리의 연속된 공간에 순서대로 저장된다.
- 리스트는 어떤 자료형도 같이 묶을 수 있다.
- 데이터가 없는 리스트도 존재한다.
리스트 선언
- 대괄호([ ])를 이용해서 데이터를 묶으며 데이터와 데이터는 쉼표(,)로 구분한다.
fruits = ['복숭아', '바나나', '사과'] #리스트 선언
print(fruits) #리스트 출력--> ['복숭아', '바나나', '사과']
아이템
- 아이템 : 리스트 안에 있는 각각의 데이터를 '아이템' 또는 '요소'라고 한다.
인덱스(index)
- 인덱스(index) : 아이템마다 자동으로 부여되는 번호표이다.
- 인덱스는 항상 0부터 시작한다.
- 리스트에 아이템이 추가되거나 삭제되면 인덱스도 자동으로 바뀐다.
fruits = ['복숭아', '바나나', '사과']
#복숭아 인덱스 = 0, 바나나 인덱스 = 1, 사과 인덱스 = 2
아이템 참조
- 아이템의 주소에 접근하는 것.
- 변수명[인덱스] 로 참조한다.
fruits = ['복숭아','바나나','사과']
print(fruits[0]) #출력--> '복숭아'
print(fruits[3]) #출력--> 인덱스 에러 발생-존재하지 않은 인덱스를 참조함.
#음수 값으로 조회 가능
print(fruits[-1]) #출력 --> '사과'
print(fruits[-2]) #출력 --> '바나나'
len() 함수
- 리스트의 길이 또는 문자열의 길이를 확인할 수 있다.
- 공백 문자도 인식한다.
- len(리스트명)으로 사용한다.
fruits = ['복숭아','바나나','사과']
print(len(fruits)) #출력--> 3
print(len('python')) #출력--> 6
index() 함수
- 해당 아이템의 인덱스를 찾을 수 있다.
- 리스트명.index(아이템)
fruits = ['복숭아','바나나','사과']
print(fruits.index('바나나')) #출력--> 1
print(fruits.index('포도')) #출력--> 에러-찾는 문자열이 없음
삽입
- append() 함수 : 리스트 끝에 아이템을 추가하며 그에 따라 인덱스도 1 증가한다.
- insert() 함수 : 리스트의 원하는 위치에 아이템을 삽입하며 그 이후의 아이템은 인덱스가 1씩 밀린다.
#append() 함수
num = [10,20,30]
num.append(40)
print(num) #출력--> [10,20,30,40]
#insert() 함수
num = [10,30]
num.insert(1,20)
print(num) #출력--> [10,20,30]
연결
- extend() 함수 : 리스트에 다른 리스트를 연결함.
- + 기호
#extend() 함수
list1=[1,2,3]
list2=[4,5,6]
list1.extend(list2)
print(list1) #출력--> [1,2,3,4,5,6]
#+기호
list1=[1,2,3]
list2=[4,5,6]
list1 = list1 + list2
print(list1) #출력--> [1,2,3,4,5,6]
삭제
- pop() 함수 : 괄호를 비워두면 리스트 맨 끝 아이템을 삭제한다. 괄호 안에 인덱스를 넣으면 그 인덱스에 있는 아이템을 삭제한다.
- del 키워드 : 특정 인덱스의 아이템을 삭제한다.
- remove() 함수 : 특정 아이템을 삭제함. 리스트에 삭제할 동일한 아이템이 여러 개 있으면 가장 앞에 있는 아이템 하나만 삭제된다.
#pop() 함수
num=[1,2,3,4]
num.pop()
print(num) #출력--> [1,2,3]
num.pop(0)
print(num) #출력--> [2,3]
#del 키워드
num=[10,20,30]
del num[1]
print(num) #출력--> [10,30]
#remove() 함수
num=[10,20,30]
num.remove(10)
print(num) #출력--> [20,30]
sort() 함수
- 리스트의 아이템을 정렬한다.
- 리스트명.sort(reverse = False/True)
- reverse 옵션이 False면 오름차순, True면 내림차순으로 정렬한다.(오름차순이 기본 설정으로 reverse=False 생략 가능)
num=[5,3,1,4,2]
num.sort(reverse=False)
print(num) #출력--> [1,2,3,4,5]
num.sort(reverse=True)
print(num) #출력--> [5,4,3,2,1]
reverse() 함수
- 아이템을 역순으로 뒤집는다.
fruits=['복숭아','바나나','사과']
fruits.reverse()
print(fruits) #출력--> ['사과','바나나','복숭아']
슬라이싱
- 리스트에서 필요한 부분의 아이템만 뽑는다.
- [n:m]
- n을 생략하면 인덱스 0부터 뽑고 m을 생략하면 리스트의 맨 끝 아이템까지 뽑는다.
num=[1,2,3,4,5]
print(num[1:3]) #출력--> [2,3,4]
print(num[:2]) #출력--> [1,2,3]
print(num[2:]) #출력--> [3,4,5]
도슐랭스타
★★☆☆☆ : 헷갈린다!
여러 데이터를 한 번에 묶을 수 있는 것은 좋은데 여러 가지 삽입, 삭제, 연결하는 함수들이 많아서 헷갈린다.. 복습을 열심히 해야겠다..
반응형
'Python' 카테고리의 다른 글
Python - 조건문(if, else, elif)과 반복문(for, while) (0) | 2023.06.01 |
---|---|
Python - input()함수와 연산자 (0) | 2023.05.30 |
Python - 데이터의 종류와 print()함수 (0) | 2023.05.27 |