여러개의 데이터가 묶여있는 자료형을 컨테이너 자료형이라고 하고, 이러한 컨테이너 자료형의 데이터 구조를 자료구조라고 한다.
자료구조는 각각의 컨테이너 자료형에 따라서 차이가 있으며, 파이썬의 대표적인 컨테이너 자료형으로는 리스트(List), 튜플(Tuple), 딕셔너리(Dic), 셋트(Set)가있다
-배열과 같이 여러개의 데이터를 나열한 자료구조.
-‘[ ]’를 이용해서 선언하고, 데이터 구분은 ‘,’를 이용한다.
이때 숫자, 문자(열), 논리형, 또 다른 컨테이너 자료형까지 모든 기본 데이터를 같이 저장할 수 있다.
ex) datas = [10, 20, 30, [40, 50, 60]]
-인덱스 : 아이템에 자동으로 부여되는 번호표로 가장 앞자리부터 순서대로 0부터 시작하여 부여된다.
이러한 특징을 이용하여 아이템 조회가 가능하다.
ex)print('datas[0]: {}'.format(datas[0])) → datas[0]: 10
print('datas[3]: {}'.format(datas[3])) → datas[3]: [40, 50, 60]
-리스트 길이 : 리스트에 저장된 아이템 개수를 뜻한다.
len()을 이용하면 리스트 길이를 알 수 있다.
datas = [10, 20, 30, [40, 50, 60]]
print(len(datas)) → 4
리스트 아이템 조회
for문과 while문 이용 시 아이템 조회가 가능하다.
for i in range(len(datas)):
print('i: {}'.format(i))
for data in datas:
print(data)
n=0
while n < len(datas):
print(datas[n])
n += 1
n=0
flag=True
while flag:
print(cars[0])
n +=1
if n == len(datas):
flag = False
n=0
while True:
print(datas[n]):
n+=1
if n == len(datas)
break
enumerate() 함수를 이용하면 아이템을 열거할 수 있다.
for idx, value in enumerate(datas):
print('{}:{}'.format(idx, value))
아이템 추가
-append() 함수를 이용하면 마지막 인덱스에 아이템을 추가할 수 있다
ex)datas.append('')
-insert() 함수를 이용하면 특정 위치(인덱스)에 아이템을 추가할 수 있다
ex)datas.insert(5,'')
아이템 삭제
-pop() 함수를 이용하면 마지막 인덱스에 해당하는 아이템을 삭제할 수 있다.
-pop(n) 함수를 n인덱스에 해당하는 아이템을 삭제할 수 있다.
-remove() 함수를 이용하면 특정 아이템을 삭제할 수 있다. 단 한개의 아이템만 삭제 가능하기 때문에 여러개 삭제할 경우 while문을 이용해야 한다.
-del 키워드를 이용하면 특정 아이템을 삭제할 수 있다.
리스트 정렬
-extend() 함수를 이용하면 리스트에 또 다른 리스트를 연결할 수 있다. (덧셈 연산자를 이요할 수도 있다.)
-sort() 함수를 이용하면 아이템을 정렬할 수 있다.
오름차순:sort(), 내림차순:sort(reverse=True)
-reverse() 함수를 이용하면 아이템의 순서를 뒤집을 수 있다.
리스트 슬라이싱
-[n:m]을 이용하면 리스트에서 원하는 아이템만 뽑아낼 수 있다. 문자열도 가능하다.
ex)[2:4] →인덱스 2<=n<4에 해당하는 아이템을 뽑아낼 수 있다.
-슬라이싱 단계 설정
[n:-z] : index n부터 마지막 z개 제외한 위치까지 슬라이싱
[n:-m:z] : index n부터 마지막 z개 제외한 위치를 m간격으로 슬라이싱
[:-m:z] : 처음부터(index 0) 마지막 z개 제외한 위치를 m간격으로 슬라이싱
[::m] : 전체 리스트를 m간격으로 슬라이싱
-슬라이싱을 이용한 아이템 변경
datas[단계설정] = ['변경내용1','변경내용2','변경내용3']이런식으로 재할당 시 변경 됨
리스트 기타
-리스트를 곱셈 연산하면 아이템이 반복된다.
-index(item)함수로 item의 인덱스를 알아낼 수 있다.
-count() 함수를 이용하면 특정 아이템의 개수를 알아낼 수 있다.