1. 반복문과 들여쓰기
메서드 |
설명 |
append(값) append(리스트) |
리스트 끝에 값을 추가, 리스트[len(리스트):] = [값]과 같음 리스트를 넣으면 리스트 안에 리스트가 들어감 |
extend(리스트) |
리스트 끝에 다른 리스트 연결, 리스트[len(리스트)] = [값, 값]과 같음 |
insert(인덱스, 값) |
리스트의 특정 인덱스에 값을 추가 |
pop() pop(인덱스) |
리스트의 마지막 값을 삭제한 뒤 삭제한 값을 반환 인덱스를 지정하면 해당 인덱스의 값을 삭제한 뒤 삭제한 값을 반환, del 리스트[인덱스]와 같음 |
remove(값) |
리스트에서 특정 값을 삭제 |
index(값) |
리스트에서 특정 값의 인덱스를 구함 |
count(값) |
리스트에서 특정 값의 개수를 구함 |
reverse() |
리스트에서 값의 순서를 반대로 뒤집음 |
sort() sort(reverse=True) |
리스트의 값을 작은 순서대로 정렬(오름차순) reverse=True는 큰 순서대로 정렬(내림차순) |
clear() |
리스트의 모든 값을 삭제, del a[:]와 같음 |
copy() |
리스트를 복사하여 새 리스트 생성 |
튜플은 값의 정보를 구하는 index, count 메서드만 사용할 수 있습니다.
2. 인덱스로 범위를 지정하여 리스트 조작하기
리스트는 메서드를 사용하지 않고, 인덱스로 범위를 지정하여 조작할 수 있습니다.
리스트[len(리스트):] = [값] # 리스트 끝에 값이 한 개 들어있는 리스트 추가
# 리스트.append(값)과 같음
리스트[len(리스트):] = [값, 값] # 리스트 끝에 다른 리스트 연결
# 리스트.extend([값, 값])과 같음
del 리스트[인덱스] # 특정 인덱스의 값 삭제, 리스트.pop(인덱스)와 같음
del 리스트[:] # 시작 인덱스와 끝 인덱스를 생략하여 리스트의 모든 값을 삭제, 리스트.clear()와 같음
3. 리스트(튜플)와 반복문
for 변수 in 뒤에 리스트(튜플)를 지정하면 반복하면서 모든 요소를 꺼내옵니다. 특히 enumerate(리스트)를 지정하면 인덱스와 요소를 동시에 꺼내올 수 있습니다.
for 변수 in 리스트: # 반복하면서 요소를 꺼내옴
반복할 코드
for 인덱스, 요소 in enumerate(리스트): # 반복하면서 인덱스와 요소를 꺼내옴
반복할 코드
for 인덱스 in range(len(리스트)): # 리스트의 길이로 반복
리스트[인덱스] # 인덱스로 요소에 접근
while 인덱스 < len(리스트): # 리스트의 길이로 반복
리스트[인덱스] # 인덱스로 요소에 접근
인덱스 += 1
4. min, max, sum 함수
min은 리스트(튜플)에서 가장 작은 값, max는 가장 큰 값, sum은 요소의 합계를 구합니다.
5. 리스트(튜플) 표현식(list comprehension)
리스트(튜플) 표현식은 리스트 안에 식, for 반복문, if 조건문 등을 지정하여 리스트(튜플)를 생성합니다.
# 리스트 표현식 [식 for 변수 in 리스트] [i for i in range(10)] list(식 for 변수 in 리스트)
# 튜플 표현식 tuple(식 for 변수 in 리스트 if 조건식)
# if 조건문 사용 [식 for 변수 in 리스트 if 조건식] [i for i in range(10) if i % 2 == 0] list(식 for 변수 in 리스트 if 조건식) |
# for와 if를 여러 번 사용 [식 for 변수1 in 리스트1 if 조건식1 for 변수2 in 리스트2 if 조건식2 ... for 변수n in 리스트n if 조건식n] [i * j for j in range(2, 10) for i in range(1, 10)]
list(식 for 변수1 in 리스트1 if 조건식1 for 변수2 in 리스트2 if 조건식2 ... for 변수n in 리스트n if 조건식n] |
6. 리스트(튜플)에 map 함수 사용
map은 리스트(튜플)의 요소를 지정된 함수로 처리해주는 함수입니다.
리스트 = list(map(함수, 리스트))
a = list(map(int, a))
튜플 = tuple(map(함수, 튜플))
변수1, 변수2 = list(map(함수, 리스트)) # 언패킹 사용
a, b = list(map(str, range(2)))
변수1, 변수2 = map(함수, 리스트) # 언패킹 사용
a, b = map(int, input().split())
7. 2차원 리스트
2차원 리스트는 가로×세로의 평면 구조로 이루어져 있습니다. 2차원 리스트는 리스트 안에 리스트를 넣어서 만들 수 있으며 안쪽의 각 리스트는 ,(콤마)로 구분해줍니다. 2차원 리스트의 요소에 접근하거나 할당할 때는 리스트에 [ ](대괄호)를 두 번 사용하며 [ ] 안에 세로 인덱스와 가로 인덱스를 지정해줍니다. 일반적으로 2차원 공간은 가로×세로로 표기하지만 리스트로 만들 때는 세로×가로로 표기합니다.
리스트 = [[값, 값], [값, 값], [값, 값]] # 2차원 리스트 만들기
리스트[세로인덱스][가로인덱스] # 2차원 리스트의 요소에 접근
리스트[세로인덱스][가로인덱스] = 값 # 2차원 리스트의 요소에 값 저장
리스트 = [(값, 값), (값, 값), (값, 값)] # 리스트 안에 튜플을 넣음
튜플 = ([값, 값], [값, 값], [값, 값]) # 튜플 안에 리스트를 넣음
튜플 = ((값, 값), (값, 값), (값, 값)) # 튜플 안에 튜플을 넣음
8. 3차원 리스트
3차원 리스트는 높이×세로×가로 형태로 이루어져 있습니다. 3차원 공간은 가로×세로×높이로 표기하지만 리스트로 만들 때는 높이×세로×가로로 표기합니다.
리스트 = [[[값, 값], [값, 값]], [[값, 값], [값, 값]], [[값, 값], [값, 값]]] # 3차원 리스트 만들기
리스트[높이인덱스][세로인덱스][가로인덱스] # 3차원 리스트의 요소에 접근
리스트[높이인덱스][세로인덱스][가로인덱스] = 값 # 3차원 리스트의 요소에 값 저장
'Programming > Python' 카테고리의 다른 글
[코딩도장-파이썬] 핵심 정리 2 (0) | 2020.11.27 |
---|---|
[코딩도장-파이썬] 문자열 응용하기 2 (formatting, 포매팅) (0) | 2020.11.24 |
[코딩도장-파이썬] 문자열 응용하기 1 (0) | 2020.11.23 |
[코딩도장-파이썬] 2차원 리스트 사용하기 2 (출력과 입력) (0) | 2020.11.20 |
[코딩도장-파이썬] 2차원 리스트 사용하기 1 (0) | 2020.11.20 |