List와 마찬가지로 dictionary도 for 반복구문(loop)을 사용하여 요소 하나 하나를 가지고 반복되는 로직을 실행 시킬 수 있습니다. 다만 list와 다르게 dictionary는 각 요소가 key 와 value로 이루어져 있는것 기억하시죠?
그렇기 때문에 dictionary를 사용한 for 반복구문에서는 각 요소의 key만 리턴을 합니다. 그리고 해당 key를 가지고 값을 읽어들이는 구조 입니다.
Looping Dictionary With Values Instead of Keys
그렇다면 key 값 말고 value 값으로 처음부터 looping 하는 방법은 없을 까요?
네, 있습니다 😃😃😃
Dictionary는 values 라는 함수를 속성으로 가지고 있는데요, 이 values 함수는 dictionary의 value 들을 리턴해줍니다 (함수가 아직 이해가 안되도 괜찮습니다. 곧 배웁니다. 지금은 values 라는 함수가 해당 dictionary의 value들을 리턴해준다는 것만 이해하면 됩니다).
그러므로 values 함수를 다음 처럼 사용하면 for 반복구문에서 key 값 대신에 value 값들을 가지고 반복 로직을 실행 할 수 있습니다.
Looping Dictionary With Both Keys And Values
Key와 value 값 둘다 가지고 for 반복구문을 실행 하는 것도 가능합니다.
Key와 value 값 둘다 가지고 for 구문을 실행하기 위해서는 items 함수를 사용하면 됩니다.
Dictionary의 items 함수는 key와 value를 tuple로 리턴해줍니다.
그러므로 다음처럼 for 반복구문에서 2개의 값을 동시에 받게 됩니다.
Assignment
Input으로 주어진 list의 각 요소(element)가 해당 list에 몇번 나타나는지 수를 dictionary로 만들어서 리턴해주세요. Dictionary의 key는 list의 요소 값이며 value는 해당 요소의 총 빈도수 입니다.예를 들어, 다음과 같은 list가 input으로 주어졌다면:
my_list = ["one", 2, 3, 2, "one"]
다음과 같은 dictionary가 리턴되어야 합니다.
{
"one" : 2,
2 : 2,
3: 1
}