CodeGym /행동 /Python SELF KO /딕셔너리 작업

딕셔너리 작업

Python SELF KO
레벨 11 , 레슨 2
사용 가능

2.1 요소 수 얻기

Python에서는 딕셔너리에서 요소의 수를 얻기 위해 내장된 함수 len()을 사용해. 이 함수는 딕셔너리의 키-값 쌍의 수를 반환해. 아니면 그냥 키의 수라고 해도 되고.

함수 사용 예시:


person = {"name": "Alice", "age": 25, "city": "New York"}
num_elements = len(person)
print(num_elements)  # 출력: 3 

이 예시에서는 person이라는 딕셔너리가 세 개의 요소를 가지고 있어. 함수 len(person)은 딕셔너리의 요소 수를 반환하며, 이는 3과 같아.

딕셔너리 빈 상태 확인

len() 함수를 사용하여 딕셔너리가 비어있는지 확인할 수 있어. 이건 조건문이나 반복문에서 유용해.


empty_dict = {}
print(len(empty_dict))  # 출력: 0

person = {"name": "Alice", "age": 25, "city": "New York"}

if len(person) > 0:
    print("딕셔너리가 비어 있지 않아")
else:
    print("딕셔너리가 비어 있어")

중첩 구조를 가진 딕셔너리

len() 함수는 최상위 키의 수만 고려해. 값이 어떤 것이든 신경 쓰지 않지.


complex_dict = {
    name: "Alice",
    details: {
        age: 25,
        city: "New York"
    },
    hobbies: ["reading", "traveling"]
}
print(len(complex_dict))  # 출력: 3

이 예시에서는 중첩된 데이터 구조를 가진 딕셔너리가 있어. len(complex_dict)는 3을 반환해, 왜냐하면 최상위에 세 개의 키가 있거든: "name", "details", 그리고 "hobbies".

len()은 중첩된 데이터 구조 안의 키는 무시해, 예를 들어 "age"와 "city" 는 "details" 딕셔너리 안에 있는 키지, len()은 최상위 키만 세니까. 모든 요소를 포함한 수를 세려면 재귀적인 방법을 사용해야 돼. 하지만 그것은 오늘의 주제가 아니야.

2.2 타입 확인하기

Python에서 함수 type()은 객체의 타입을 확인하는 데 사용돼. 딕셔너리 작업을 할 때 type() 은 객체가 dict 클래스의 인스턴스인지 확인할 수 있어. 이는 다양한 시나리오에서 유용하지, 예를 들어 데이터 타입을 확인한 후 딕셔너리에 대한 작업을 수행할 때 말이야.

사용 예시:

객체 타입 확인


person = {"name": "Alice", "age": 25, "city": "New York"}
print(type(person))  # 출력: <class 'dict'>

이 예시에서는 person이라는 딕셔너리를 만들고 type을 사용해 그 타입을 확인해. 함수는 <class 'dict'>를 반환하면서, person이 딕셔너리라고 알려줘.

조건문에서 데이터 타입 확인

type() 함수는 조건문 안에서 데이터 타입을 확인하는 데 사용될 수 있어, 이를 통해 dict 타입 객체에만 특정 작업을 수행하도록 할 수 있지.


data = {"name": "Alice", "age": 25, "city": "New York"}

if type(data) is dict:
    print("이건 딕셔너리야.")
else:
    print("이건 딕셔너리가 아니야.")

이 예시에서는 조건문이 data가 딕셔너리인지 확인하고, 적절한 코드를 실행해.

type() 함수는 사용자 정의 함수 내에서 인자 타입을 확인하는 데 사용할 수 있어, 이를 통해 함수가 적절한 데이터 타입을 처리하도록 보장할 수 있지.

예시:


def process_data(data):
    if type(data) is dict:
        print("딕셔너리 처리 중...")
        # 딕셔너리에 대한 작업 수행
    else:
        print("오류: 딕셔너리가 예상됨.")

data = {"name": "Alice", "age": 25, "city": "New York"}
process_data(data)

이 예시에서 process_data 함수는 인자 data가 딕셔너리인지 확인하고, 딕셔너리에 대해서만 적절한 작업을 수행해.

2.3 요소 얻기

딕셔너리의 요소를 다루는 것은 리스트나 튜플과 비슷해 — 마찬가지로 대괄호를 사용해. 단지 인덱스 대신 딕셔너리의 키를 대괄호 안에 넣어야 해. 딕셔너리의 키는 문자열, 숫자 또는 예를 들어 튜플처럼 어떤 불변 객체도 될 수 있어.


딕셔너리[]

예시:


person = {"name": "Alice", "age": 25, "city": "New York"}
name = person["name"]
print(name)  # 출력: Alice

키가 없으면 오류가 발생해:


person = {"name": "Alice", "age": 25, "city": "New York"}
person["country"]  # KeyError: 'country' 오류 발생

메서드 get(key, def_value)

get() 메서드는 키를 통해 안전하게 값을 얻을 수 있게 해줍니다. 키가 없을 경우, 메서드는 기본값을 반환합니다 (None, 기본값이 지정되지 않은 경우). 이는 KeyError 예외 발생을 방지해.


person = {"name": "Alice", "age": 25, "city": "New York"}
age = person.get("age")
print(age)  # 출력: 25

country = person.get("country", "USA")
print(country)  # 출력: USA

get() 메서드의 두 번째 매개변수로 딕셔너리에 키가 없을 때 반환할 값을 전달할 수 있어.

메서드 setdefault()get() 메서드와 유사하게 작동하지만, 딕셔너리에 키가 없는 경우, 기본값을 반환하는 대신, 새로운 키: 값 쌍으로 딕셔너리에 추가해.


person = {"name": "Alice", "age": 25}
city = person.setdefault("city", "New York")
print(city)  # 출력: New York
print(person)  # 출력: {'name': 'Alice', 'age': 25, 'city': 'New York'}
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION