I have a dictionary with some pet names and their corresponding info and a list with owner names. The goal of the code is to update the dictionary by extracting a name from a list (owners) and create a new key : value pair in the dictionary.

```
owners = ["adam", "sandra", "ashley"]
pets = {
"buster": {
    "type": "dog",
    "colour": "black and white",
    "disposition": "sassy",
},
"jojo": {
    "type": "cat",
    "colour": "grey",
    "disposition": "grumpy",
},
"amber": {"type": "cat", "colour": "black", "disposition": "playful"},

```

}

```
iterator = iter(pets.values())
for owner in owners:
    for pet_info in iterator:
        try:
            pet_info["owner"] = owner
            break
        except StopIteration:
            print("The end")
print(pets)

Output

{
'buster': {'type': 'dog', 'colour': 'black and white', 'disposition': 'sassy', 'owner': 'adam'}, 
'jojo': {'type': 'cat', 'colour': 'grey', 'disposition': 'grumpy', 'owner': 'sandra'}, 
'amber': {'type': 'cat', 'colour': 'black', 'disposition': 'playful', 'owner': 'ashley'}
}

```

After using the iter() function, I was able to produce the output I desired. Hence, I am trying to figure out how the iter() function made this possible.
(I did google but the search results were not what I was looking for)

Thanks in advance !