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

Python – 딕셔너리의 리스트 값을 비우는 2가지 방법

이 글에서는 값(value)이 리스트 형태로 저장된 딕셔너리를 다루고, 해당 리스트 값들을 모두 비우는 방법을 살펴봅니다. 크게 두 가지 접근 방식이 있습니다.

  • 반복문과 함께 clear() 메서드를 사용하는 방법
  • 딕셔너리 컴프리헨션(dictionary comprehension)으로 각 키에 빈 리스트를 할당하는 방법

예제 코드

x1 = {"Apple" : [4,6,9,2],"Grape" : [7,8,2,1],"Orange" : [3,6,2,4]}
x2 = {"mango" : [4,6,9,2],"pineapple" : [7,8,2,1],"cherry" : [3,6,2,4]}
print("The given input is : " + str(x1))
# 반복문 + clear() 메서드 사용
for k in x1:
    x1[k].clear()
print("Clearing list as dictionary value is : " + str(x1))
print("\nThe given input is : " + str(x2))
# 딕셔너리 컴프리헨션 사용
x2 = {k : [] for k in x2}
print("Clearing list as dictionary value is : " + str(x2))

방법 1: clear() 메서드

첫 번째 방법은 딕셔너리의 각 키를 순회하면서 해당 키에 연결된 리스트 객체에 직접 clear() 메서드를 호출하는 방식입니다. 기존 리스트 객체 자체를 비우기 때문에 원본 딕셔너리 구조는 그대로 유지됩니다.

방법 2: 딕셔너리 컴프리헨션

두 번째 방법은 딕셔너리 컴프리헨션을 사용하여 기존 키들은 그대로 가져오되, 모든 값에 빈 리스트 []를 새로 할당하는 방식입니다. 코드가 간결하고 파이썬다운(Pythonic) 스타일이라는 장점이 있습니다.

실행 결과

위 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

The given input is : {'Apple': [4, 6, 9, 2], 'Grape': [7, 8, 2, 1], 'Orange': [3, 6, 2, 4]}
Clearing list as dictionary value is : {'Apple': [], 'Grape': [], 'Orange': []}
The given input is : {'mango': [4, 6, 9, 2], 'pineapple': [7, 8, 2, 1], 'cherry': [3, 6, 2, 4]}
Clearing list as dictionary value is : {'mango': [], 'pineapple': [], 'cherry': []}

두 방법 모두 딕셔너리의 키는 유지한 채 값인 리스트만 비워진 것을 확인할 수 있습니다. 상황에 따라 선호하는 방식을 선택해 사용하면 됩니다.