+ 4

Dictionary and tuples.

Why does a dictionary return a tuple? https://code.sololearn.com/c101PfwH7gO1/?ref=app

6th May 2020, 12:06 PM
Avinesh
Avinesh - avatar
6 Answers
+ 5
I figured it does that because if it returned a list of items they can be changed. Theres a lot of ways to change a dictionary but using .items() isnt one of them. Its more there just to show you everything and make it easier to display. While being a sort of "protecter" of data since tuples are immutable theres no mixing or changing the data.
6th May 2020, 1:10 PM
Slick
Slick - avatar
+ 6
You can also loop through keys or values separately person.keys() person.values() And it is also common to unpack the key-value pairs in two variables: for key, value in person.items()
6th May 2020, 12:38 PM
Tibor Santa
Tibor Santa - avatar
+ 4
dictionarys return tuples when you call the .items() method on them. Example: games = {'cod':60, 'skyrim':50, 'darksouls':100} for k,v in games.items(): print(k+'is'+v+'dollars.') cod is 60 dollars. skyrim is 50 dollars. darksouls is 100 dollars.
6th May 2020, 12:40 PM
Slick
Slick - avatar
+ 4
You said it yourself: key-value PAIR. A tuple is exactly that: an immutable group of data, in this case a pair. You can observe a similar thing when you use zip() function over two iterables, it combines them pair-wise and returns a sequence of tuples.
6th May 2020, 1:13 PM
Tibor Santa
Tibor Santa - avatar
+ 4
Slick and Tibor Santa that's some answer I was looking for, a good reason. Thanks to both of you.
6th May 2020, 1:29 PM
Avinesh
Avinesh - avatar
+ 3
Hi Tibor Santa and Slick I know that we can iterate over keys and values separately as well and it returns just what has been asked for. But my question is why do they return a tuple when we return both key-value pair combined. I thought there must be some reason behind it. Anyways thanks guys.
6th May 2020, 1:04 PM
Avinesh
Avinesh - avatar