students = ['홍길동', '박찬호']
jobs = ('의사', '속기사')
scores = {'kor': 88, 'mat': 90}
allSales = {100, 1450}
[ ]
를 이용하여 선언하고, 데이터 구분은 ','를 이용함
리스트 안에 들어있는 각각의 데이터를 아이템(요소)라고 함
숫자, 문자, 논리형 등 모든 기본 데이터를 같이 저장할 수 있음
리스트에 또 다른 컨테이너 자료형 데이터를 저장할 수도 있음
students = ['홍길동', '박찬호']
data = ['홍길동', 10, True, [1, 2]]
리스트[인덱스]
와 같은 문법으로 조회 가능len()
과 반복문을 이용하여 리스트의 아이템 조회가 가능for
문을 이용하면 리스트의 아이템을 자동으로 참조할 수 있음for
문 이외에도 while
문으로도 조회가 가능enumerate()
함수를 이용하면 아이템을 인덱스와 함께 열거할 수 있음
sports = ['농구', '수구', '축구']
for idx, value in enumerate(sports):
print(f'{idx}: {value})
'''
0: 농구
1: 수구
2: 축구
'''
문자열에도 적용할 수 있음
append(데이터)
함수를 이용하면 리스트의 마지막에 아이템을 추가할 수 있음
insert(인덱스, 데이터)
함수를 이용하면 특정 위치(인덱스)에 아이템을 추가할 수 있음
celebrities = ['유재석', '강호동']
celebrities.append('이수근') # ['유재석', '강호동', '이수근']
celebrities.insert(1, '은지원') #['유재석', '은지원', '강호동', '이수근']
insert()
의 경우 삽입 위치가 리스트의 길이+1 보다 크더라도 오류가 발생하지 않고 맨 마지막에 데이터가 추가됨
pop(인덱스)
함수를 이용하여 리스트의 특정 위치의 아이템을 삭제할 수 있음remove(값)
함수를 이용remove()
는 한 개의 아이템만 삭제 가능함. 만약 삭제하려는 데이터가 2개 이상이라면 while
문을 이용해야 함remove()
를 통해서는 앞쪽에 위치한 값부터 삭제됨extend()
함수를 이용하면 리스트에 또 다른 리스트를 연결(확장) 할 수 있음iterable
한 객체가 들어오면 됨key
값들이 추가됨extend()
와 덧셈 연산자의 차이는 extend()
는 기존에 있는 리스트를 확장시키는 개념이라면 덧셈 연산자는 두 개의 리스트를 합친 새로운 리스트를 생성하는 것sort()
함수를 이용하여 아이템을 정렬할 수 있음reverse=True
로 설정하면 내림차순, 생략시 오름차순이 기본값reverse()
를 사용하면 아이템 순서를 뒤집을 수 있음[n:m]
을 이용하여 리스트에서 원하는 아이템만 가져올 수 있음n
번 인덱스부터 m-1
번 인덱스까지 가져옴n
을 생략하면 인덱스 0이 기본값이고, m
을 생략하면 리스트의 전체 길이가 기본값n, m
모두 생략가능[n:m]
을 사용하여 가능[n:m:step]
step
이 음수이면 역순으로 데이터를 가져오며, 이때 n
과 m
의 설정에도 주의n, m
이 리스트의 범위를 벗어나더라도 오류가 발생하지는 않음예시
students = ['홍길동', '박찬호', '이용규', '강호동', '박승철', '김지은']
students[1:4] = ['park chanho', 'lee yonggyu', 'gang hodong']
print(students) # ['홍길동', 'park chanho', 'lee yonggyu', 'gang hodong', '박승철', '김지은']
이 때 새로 변경할 데이터의 길이가 기존 데이터의 길이와 같을 필요는 없음