Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python 중첩 리스트에서 열(컬럼) 삭제하기 – pop과 del 활용법

리스트 안에 리스트가 중첩된 구조에서는 각 하위 리스트의 같은 인덱스에 위치한 요소들이 하나의 '열(column)'처럼 동작합니다. 이 글에서는 이러한 중첩 리스트에서 특정 열을 삭제하는 방법을 알아보겠습니다. 즉, 모든 하위 리스트에서 동일한 인덱스 위치의 요소를 제거해야 합니다.

pop() 메서드 사용하기

pop() 메서드는 지정한 위치의 요소를 제거하고 그 값을 반환합니다. for 루프를 사용해 각 하위 리스트를 순회하면서 특정 인덱스의 요소를 pop으로 제거하면 원하는 열을 삭제할 수 있습니다.

예제 코드

# 리스트의 리스트
listA = [[3, 9, 5, 1],
[4, 6, 1, 2],
[1, 6, 12, 18]]

# 원본 리스트 출력
print("주어진 리스트 \n", listA)

# pop 적용 - 인덱스 2의 요소 제거
[i.pop(2) for i in listA]

# 결과 출력
print("열 삭제 후 리스트 :\n ", listA)

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

주어진 리스트
[[3, 9, 5, 1], [4, 6, 1, 2], [1, 6, 12, 18]]
열 삭제 후 리스트 :
[[3, 9, 1], [4, 6, 2], [1, 6, 18]]

del 키워드 사용하기

두 번째 방법은 del 키워드를 사용하는 것입니다. 앞서 살펴본 pop() 방식과 유사하지만, 삭제할 열의 인덱스를 직접 지정한다는 점이 다릅니다. del은 값을 반환하지 않고 해당 위치의 요소를 단순히 제거합니다.

예제 코드

# 리스트의 리스트
listA = [[3, 9, 5, 1],
[4, 6, 1, 2],
[1, 6, 12, 18]]

# 원본 리스트 출력
print("주어진 리스트 \n", listA)

# del 적용 - 인덱스 2의 요소 제거
for i in listA:
    del i[2]

# 결과 출력
print("열 삭제 후 리스트 :\n ", listA)

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

주어진 리스트
[[3, 9, 5, 1], [4, 6, 1, 2], [1, 6, 12, 18]]
열 삭제 후 리스트 :
[[3, 9, 1], [4, 6, 2], [1, 6, 18]]

마무리

이처럼 Python에서는 pop() 메서드와 del 키워드 두 가지 방법으로 중첩 리스트에서 특정 열을 손쉽게 삭제할 수 있습니다. 삭제된 값이 필요하다면 pop()을, 단순히 제거만 하면 되는 경우에는 del을 사용하는 것이 효율적입니다. 상황에 맞는 방법을 선택해 코드를 작성해 보세요.