728x90
- 리스트(List)
- 많은 양의 데이터를 관리하는 자료형
- 저장할 데이터의 수가 정해지지 않았을 경우
- 대괄호([])로 작성
- 리스트의 내부 값은 콤마(,)로 구분
- 추가, 수정, 삭제 가능
- 리스트에 저장된 각각의 값 : 요소
- 요소 각각에는 위치가 지정되어 있음 : 1이 아닌 0부터 시작
- 저장할 수 있는 데이터 타입과 깊이에 제약이 없음 : 리스트 안에 리스트, 숫자, 문자 등 가능
- 리스트 선언
# 리스트 선언
# 리스트명 = [요소1, 요소2, 요소3, ...]
# 비어있는 리스트
list1 = []
# 숫자를 요소로 가지는 리스트
list2 = [1,2,3]
# 문자를 요소로 가지는 리스트
list3 = ['A', 'B', 'C', 'D']
# 숫자와 문자를 함께 요소로 가지는 리스트
list4 = [1, 2, 'A', 'B']
# 리스트 자체를 요소로 가지는 리스트
list5 = [1, 2, ['A', 'B']]
- 리스트 인덱싱
- 음수 인덱스는 뒤에서부터 시작
# 리스트 인덱싱 : 리스트[인덱싱]
list1 = [2, 5, 7, 9, 10]
print(list1[0])
print(list1[2]+list1[-1])
list5 = [1, 2, ['A', 'B']]
print(list5[2])
print(list5[2][1])
- 리스트 슬라이싱
# 리스트 슬라이싱 : 리스트[start인덱스 : end인덱스]
list3 = ['A', 'B', 'C', 'D']
print(list3[:2])
print(list3[1:])
print(list3[2:4])
- 리스트 연산
# 리스트 연산
a = [1, 2, 3]
b = [4, 5, 6]
# 1) 더하기
print(a+b)
# 2) 곱하기
print(a*3)
# 3) 리스트 길이 구하기
print(len(a))
- 리스트 값 추가 : append, insert, extend
# 리스트 값 추가
# 1) 리스트.append(값) : 맨 뒤에 값 추가
list6 = [0, 1, 2, 3, 4]
list6.append(5)
print(list6)
print('')
# 2) 리스트.insert(인덱스, 값) : 인덱스 위치에 값 추가
list6 = [0, 1, 2, 3, 4]
list6.insert(1,5)
print(list6)
print('')
# 3) 리스트1.extend(리스트2) : 리스트1에 리스트2의 요소 추가
list6 = [0, 1, 2, 3, 4]
list6.extend([5, 6])
print(list6)
- 리스트 값 수정
# 리스트 값 수정
# 1) 인덱싱 활용
list6 = [0, 1, 2, 3, 4]
list6[1] = 5
print(list6)
print('')
# 2) 슬라이싱 활용
list6 = [0, 1, 2, 3, 4]
list6[1:3] = [5]
print(list6)
list6 = [0, 1, 2, 3, 4]
list6[1:3] = [5, 6]
print(list6)
- 리스트 값 삭제 : del, remove
# 리스트 값 삭제
# 1) del 함수 사용
list6 = [0, 1, 2, 3, 4]
del list6[1]
print(list6)
list6 = [0, 1, 2, 3, 4]
del list6[:2]
print(list6)
print('')
# 2) 리스트.remove(값)
list6 = [0, 1, 2, 3, 4]
list6.remove(3)
print(list6)
- 리스트 관련 함수 : sort, reverse, index, pop, count
# 리스트 관련 함수
# 리스트 정렬 : 리스트의 요소를 오름차순으로 정렬
a = [ 1, 4, 3, 2]
a.sort()
print(a)
# 리스트 뒤집기
a.reverse()
print(a)
# sort + reverse : 리스트의 요소를 내림차순으로 정렬
# 위치 반환 : 리스트에 값이 있으면 인덱스 반환 / 없으면 오류
print(a.index(3))
# 리스트 요소 끄집어내기 : 리스트의 맨 마지막 요소를 반환하고 리스트에서 삭제
a = [ 1, 4, 3, 2]
b = a.pop()
print(b)
print(a)
# 리스트의 요소 개수 세기
a = [1, 2, 3, 1]
print(a.count(1))
- 튜플(Tuple)
- 데이터의 개수가 정해져 있고 값이 고정되어야 하는 경우 사용
- 소괄호( () )로 작성 : 소괄호는 생략 가능
- 튜플의 내부 값은 콤마(,)로 구분
- 추가, 수정, 삭제 불가능 : 리스트와 다른 점
- 데이터가 바뀌지 않기에 리스트보다 처리 속도가 약간 더 빠름
# 인덱싱, 슬라이싱
t1 = 1, 2, 'a', 'b'
print(t1[1])
print(t1[1:3])
# 튜플 더하기
t1 = 1, 2, 'a', 'b'
t2 = (3, 4)
print(t1 + t2)
# 튜플 곱하기
print(t2*3)
# 튜플 길이 구하기
print(len(t1))
- 리스트와 튜플의 공통점과 차이점
공통점 | 차이점 |
|
|
728x90
'PROGRAMMING > PYTHON' 카테고리의 다른 글
[Python] 딕셔너리 (0) | 2021.04.25 |
---|---|
[Python] 반복문 (0) | 2021.04.25 |
[Python] 조건문 (0) | 2021.04.25 |
[Python] 연산자 (0) | 2021.04.25 |
[Python] 변수, 자료형(숫자형, 문자열) (0) | 2021.04.25 |
댓글