리스트 (list)
- 여러 가지 자료를 모아 사용할 수 있게 해주는 특별한 형태의 자료
- 한 가지 또는 여러 종류의 자료형으로 구성할 수 있다
- 리스트 내부에 넣는 자료를 요소 (element)라고 부른다
- (예)
array = [273, 32, 103, "문자열", True, False]
print(array)
# [273, 32, 103, '문자열', True, False]
리스트 선언
- 대괄호[ ]에 자료를 쉼표로 구분해서 입력한다
- 인덱스는 1부터 시작
[요소, 요소, 요소 ... ]
리스트의 사용
1. (일반적인 사용) 인덱스로 접근
list_a = [273, 32, 103, "문자열", True, False]
list_a[0] = "변경"
print(list_a)
# ['변경', 32, 103, '문자열', True, False]
2. 음수 인덱스로 뒤에서부터 요소를 선택
list_a = [273, 32, 103, "문자열", True, False]
print(list_a[-1]) # False
print(list_a[-2]) # True
print(list_a[-3]) # 문자열
3. 리스트 접근 연산자를 이중으로 사용
- (예) list_a[3]의 "문자열을 꺼내서 0번째를 가져와 출력
list_a = [273, 32, 103, "문자열", True, False]
print(list_a[3]) # 문자열
print(list_a[3][0]) # 문
4. 리스트 안에 리스트 사용 가능
list_a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(list_a[1]) # [4, 5, 6]
print(list_a[1][1]) # 5
리스트 연산자 : 연결(+), 반복(*), len()
list_a = [1, 2, 3]
list_b = [4, 5, 6]
print("list_a + list_b = ", list_a + list_b)
# list_a + list_b = [1, 2, 3, 4, 5, 6]
print("list * 3 = ", list_a * 3)
# list * 3 = [1, 2, 3, 1, 2, 3, 1, 2, 3]
print("len(list_a) = ", len(list_a))
# len(list_a) = 3
리스트에 요소 추가하기
1. append() 함수
- 리스트 뒤에 요소를 추가
리스트명.append(요소)
list_a = [1,2,3]
list_a.append(4)
print(list_a)
# [1, 2, 3, 4]
2. insert() 함수
- 리스트의 중간에 요소를 추가
- 삽입한 위치의 요소는 뒤로 하나씩 밀린다
리스트명.insert(위치, 요소)
list_a = [1, 2, 3]
list_a.insert(1, 10)
print(list_a)
# [1, 10, 2, 3]
3. extend() 함수
- 한 번에 여러 요소를 추가
- 매개변수로 리스트를 입력하면, 원래 리스트 뒤에 매개변수인 리스트의 요소를 모두 추가한다
list_a = [1, 2, 3]
list_a.extend([4, 5, 6])
print(list_a)
# [1, 2, 3, 4, 5, 6]
- 리스트 연결 연산자와 차이
˙ 리스트 연결 연산자(+)와 extend()는 비슷한 형태로 동작
˙ 리스트 연결 연산자는 비파괴적(원본에 영향을 주지 않음)이지만, extend()는 파괴적이다
˙ 원본도 사용할 수 있도록 비파괴적으로 사용하는 것이 좋다
리스트 요소 제거하기
1. 인덱스로 제거하기
- del 키워드 : 리스트의 특정 인덱스에 있는 요소 제거. 범위를 지정하여 요소를 한꺼번에 제거하기 가능
del 리스트명[인덱스]
- pop() 함수 : 제거할 위치에 있는 요소를 제거. 매개변수를 입력하지 않으면 마지막 요소를 제거
리스트명.pop(인덱스)
2. 값으로 제거하기
- remove() : 값을 지정해서 제거
리스트.remove(값)
- 리스트 내에 값이 여러 개 존재해도 가장 먼저 발견되는 하나만 제거
3. 모두 제거하기
- clear() 함수 : 리스트 내부의 요소를 모두 제거
리스트.clear()
리스트 내부에 있는지 확인하기
- in 연산자 : 특정 값이 리스트 내부에 있는지 확인
값 in 리스트
- not in 연산자 : 리스트 내부에 해당 값이 없는지 확인
값 not in 리스트
[참고서적] 혼자 공부하는 파이썬
'Programming > Python' 카테고리의 다른 글
[Python] 파이썬 리스트 복사 : 시간 초과 해결, 깊은 복사와 얕은 복사, copy, deepcopy, slicing, 2차원 리스트 복사 (0) | 2021.08.05 |
---|---|
[Python] 파이썬 sys.stdin.readline() 입력 받기 : 시간 초과 해결, 입출력 속도 개선 (0) | 2021.07.21 |
[Python] 파이썬 조건문 : if, else, elif 조건문, 조건문 내부를 구현하지 않았을 때 (0) | 2021.07.20 |
[Python] 파이썬 자료형 (3) : Boolean(불) 자료형, 비교 연산자, 논리 연산자 (0) | 2021.07.20 |
[Python] 파이썬 자료형 (2) : 문자열 입력, 문자열 관련 함수 (0) | 2021.07.17 |