파이썬(Python)

[ Basic ] 파이썬 Dictionary 키와 값의 목록 반환, keys() / values() / items()

카루루1007 2023. 2. 27. 23:15
728x90
반응형
SMALL
keys() 함수

keys() 함수는 Dictionary의 [ 키 ] 목록을 반환하는 함수입니다.

간단하게 사용하는 방법을 알아보겠습니다.

 

my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}

print(my_dict.keys())

위 코드의 결과는 다음과 같습니다.

dict_keys(['name', 'age', 'city'])

 

keys() 함수에 의해 반환된 값은

for 문을 사용이 가능합니다.

my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}

for key in my_dict.keys():
    print(key)

위 코드의 결과는 다음과 같습니다.

name
age
city

 

만약 dictionayr의 [ 키 ]를 리스트 형태로 활용하고 싶다면 

다음과 같이 코드를 작성하여 리스트 형태로 만들 수 있습니다.

my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}

key_lists = list(my_dict.keys())

print(key_lists)

위 코드의 결과는 다음과 같습니다.

['name', 'age', 'city']

 

values() 함수

values() 함수 역시 keys() 함수와 사용 방법은 동일합니다.

다만 keys() 함수는 [ 키 ]를 반환하였다면

values() 함수는 [ 값 ]을 반환합니다.

my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}

print(my_dict.values())

위 코드의 결과는 다음과 같습니다.

dict_values(['John', 30, 'New York'])

 

keys()함수와 동일하게 for 문 사용이 가능합니다.

my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}

for value in my_dict.values():
    print(value)

위 코드의 값은 다음과 같습니다.

John
30
New York

 

keys() 함수와 동일하게 리스트 형태로 만들 수 있습니다.

my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}

value_lists = list(my_dict.values())

print(value_lists)

위 코드의 결과는 다음과 같습니다.

['John', 30, 'New York']

 

반응형
items() 함수

items() 함수는 파이썬의 내장함수입니다.

dictionary의 [ 키 - 값 ]을 tuple 형태로 반환합니다.

my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}

print(my_dict.items())

위 코드의 결과는 다음과 같습니다.

dict_items([('name', 'John'), ('age', 30), ('city', 'New York')])

 

역시나 for문의 사용이 가능합니다. 

my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}

for key, value in my_dict.items():
    print(f"{key} : {value}")

위 코드의 결과는 다음과 같습니다.

name : John
age : 30
city : New York

 

리스트 형태로의 변환도 가능합니다.

my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}

print(list(my_dict.items()))

위 코드의 결과는 다음과 같습니다.

[('name', 'John'), ('age', 30), ('city', 'New York')]

 

다음과 같이 활용도 가능합니다.

만약 이름과 전화번호의 목록이 있다면

해당 전화번호가 누구의 번호인지 확인할 수 있습니다.

phonebook = {"John": "123-456-7890", "Sarah": "111-222-3333", "Tom": "444-555-6666"}
phone_number = "111-222-3333"

for name, number in phonebook.items():
    if number == phone_number:
        print(f"이 전화번호({phone_number})는 {name}의 전화번호입니다.")
        break
else:
    print(f"이 전화번호({phone_number})는 자료에 없습니다.")

위 코드의 결과는 다음과 같습니다.

이 전화번호(111-222-3333)는 Sarah의 전화번호입니다.

 

없는 번호를 입력한다면 자료에 없다고 출력합니다.

phonebook = {"John": "123-456-7890", "Sarah": "111-222-3333", "Tom": "444-555-6666"}
phone_number = "000-000-0000"

for name, number in phonebook.items():
    if number == phone_number:
        print(f"이 전화번호({phone_number})는 {name}의 전화번호입니다.")
        break
else:
    print(f"이 전화번호({phone_number})는 자료에 없습니다.")

다음은 위 코드의 결과입니다.

이 전화번호(000-000-0000)는 자료에 없습니다.

 

728x90
반응형
LIST