Programming/Python

[코딩도장-파이썬] 핵심정리

Supreme_YS 2020. 11. 26. 16:37

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차원 리스트의 요소에 값 저장