006. list, tuple
반응형
메서드 설명
append(값)
append(리스트)
리스트 끝에 값을 추가, 리스트[len(리스트):] = [값]과 같음
리스트를 넣으면 리스트 안에 리스트가 들어감
extend(리스트) 리스트 끝에 다른 리스트 연결, 리스트[len(리스트):] = [값, 값]과 같음
insert(인덱스, 값) 리스트의 특정 인덱스에 값을 추가
pop()
pop(인덱스)
리스트의 마지막 값을 삭제한 뒤 삭제한 값을 반환
인덱스를 지정하면 해당 인덱스의 값을 삭제한 뒤 삭제한 값을 반환, del 리스트[인덱스]와 같음
remove(값) 리스트에서 특정 값을 삭제
index(값) 리스트에서 특정 값의 인덱스를 구함
count(값) 리스트에서 특정 값의 개수를 구함
reverse() 리스트에서 값의 순서를 반대로 뒤집음
sort()
sort(reverse=True)
리스트의 값을 작은 순서대로 정렬(오름차순)
reverse=True는 큰 순서대로 정렬(내림차순)
clear() 리스트의 모든 값을 삭제, del a[:]와 같음
copy() 리스트를 복사하여 새 리스트 생성

 

인덱스로 범위를 지정하여 리스트 조작하기

리스트는 메서드를 사용하지 않고, 인덱스로 범위를 지정하여 조작할 수 있습니다.

리스트[len(리스트):] = [값]        # 리스트 끝에 값이 한 개 들어있는 리스트 추가
                                   # 리스트.append(값)과 같음
리스트[len(리스트):] = [값, 값]    # 리스트 끝에 다른 리스트 연결
                                   # 리스트.extend([값, 값])과 같음
del 리스트[인덱스]    # 특정 인덱스의 값 삭제, 리스트.pop(인덱스)와 같음
del 리스트[:]   # 시작 인덱스와 끝 인덱스를 생략하여 리스트의 모든 값을 삭제, 리스트.clear()와 같음

 

리스트(튜플)와 반복문

for 변수 in 뒤에 리스트(튜플)를 지정하면 반복하면서 모든 요소를 꺼내옵니다. 특히 enumerate(리스트)를 지정하면 인덱스와 요소를 동시에 꺼내올 수 있습니다.

for 변수 in 리스트:    # 반복하면서 요소를 꺼내옴
    반복할 코드
 
for 인덱스, 요소 in enumerate(리스트):    # 반복하면서 인덱스와 요소를 꺼내옴
    반복할 코드
 
for 인덱스 in range(len(리스트)):    # 리스트의 길이로 반복
    리스트[인덱스]                   # 인덱스로 요소에 접근
 
while 인덱스 < len(리스트):    # 리스트의 길이로 반복
    리스트[인덱스]             # 인덱스로 요소에 접근
    인덱스 += 1

 

2차원 리스트

2차원 리스트는 가로×세로의 평면 구조로 이루어져 있습니다. 2차원 리스트는 리스트 안에 리스트를 넣어서 만들 수 있으며 안쪽의 각 리스트는 ,(콤마)로 구분해줍니다. 2차원 리스트의 요소에 접근하거나 할당할 때는 리스트에 [ ](대괄호)를 두 번 사용하며 [ ] 안에 세로 인덱스와 가로 인덱스를 지정해줍니다. 일반적으로 2차원 공간은 가로×세로로 표기하지만 리스트로 만들 때는 세로×가로로 표기합니다.

 

리스트 = [[값, 값], [값, 값], [값, 값]]    # 2차원 리스트 만들기
 
리스트[세로인덱스][가로인덱스]         # 2차원 리스트의 요소에 접근
리스트[세로인덱스][가로인덱스] = 값    # 2차원 리스트의 요소에 값 저장
 
리스트 = [(값, 값), (값, 값), (값, 값)]    # 리스트 안에 튜플을 넣음
튜플 = ([값, 값], [값, 값], [값, 값])      # 튜플 안에 리스트를 넣음
튜플 = ((값, 값), (값, 값), (값, 값))      # 튜플 안에 튜플을 넣음



리스트 = [[0 for i in range(0, 10)] for i in range(10)] # 10x10 2차원 리스트 생성 앞으로 height, width

 

3차원 리스트

3차원 리스트는 높이×세로×가로 형태로 이루어져 있습니다. 3차원 공간은 가로×세로×높이로 표기하지만 리스트로 만들 때는 높이×세로×가로로 표기합니다.

리스트 = [[[값, 값], [값, 값]], [[값, 값], [값, 값]], [[값, 값], [값, 값]]]    # 3차원 리스트 만들기
 
리스트[높이인덱스][세로인덱스][가로인덱스]         # 3차원 리스트의 요소에 접근
리스트[높이인덱스][세로인덱스][가로인덱스] = 값    # 3차원 리스트의 요소에 값 저장

리스트 = [[[0 for i in range(0, 10)] for i in range(10)] for i in range(10)] # 10x10x10 3차원 배열 앞부터 deep, height, width
반응형