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'}
GO TO FULL VERSION