Dictionary methods
​
.keys(); .values(); .items(); .get(); .setdefault(); .sorted(); .set()
Note: the values returned by there methods .keys(), .values(), and .items() are NOT true lists: they can NOT be modified and do not have an append() method. BUT there data types (dict_keys, dict_values, and dict_items) can be used in FOR loops
.keys()
input: dict
output: NOT true list, but can be used in for loops
​
E.g.1
>>> spam = {'color': 'red', 'age': 42}
>>> for k in spam.keys():
... print(k)
...
color
age
.values()
input: dict
output: NOT true list, but can be used in for loops
​
E.g.1
>>> spam = {'color': 'red', 'age': 42}
>>> for v in spam.values():
... print(v)
...
red
42
.items()
input: dict
output: NOT true tuple, but can be used in for loops
​
E.g.1.note the return value is tuple
>>> spam = {'color': 'red', 'age': 42}
>>> for i in spam.items():
... print(i)
...
('color', 'red')
('age', 42)
.get() - doesn't change dict's value v.s .setdefault()
input: dict
output: int
​
E.g.1
>>> picnicItems = {'apples': 5, 'cups': 2}
>>> 'I am bringing ' + str(picnicItems.get('cups', 0)) + ' cups.'
'I am bringing 2 cups.'
>>> 'I am bringing ' + str(picnicItems.get('eggs', 0)) + ' eggs.'
'I am bringing 0 eggs.'
>>>
.setdefault() - changes dict's value v.s .get()
input: dict
output: int
​
E.g.1.
>>> picnicItems = {'apples': 5, 'cups': 2}
>>> 'I am bringing ' + str(picnicItems.get('eggs', 0)) + ' eggs.'
'I am bringing 0 eggs.'
>>> picnicItems
{'apples': 5, 'cups': 2}
>>> 'I am bringing ' + str(picnicItems.setdefault('eggs', 0)) + ' eggs.'
'I am bringing 0 eggs.'
>>> picnicItems
{'eggs': 0, 'apples': 5, 'cups': 2}
.sorted() - changes dict's value v.s .get()
input: dict
output: dict
​
E.g.1
favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python'
}
>>> for name in sorted(favorite_languages.keys()):
... print(name.title() + ', thank you for taking the poll.')
...
Edward, thank you for taking the poll.
Jen, thank you for taking the poll.
Phil, thank you for taking the poll.
Sarah, thank you for taking the poll.
>>>
.set() - filter out duplicates
input: dict
output: dict
​
E.g.1
>>> favorite_languages = {
... 'jen': 'python',
... 'sarah': 'c',
... 'edward': 'ruby',
... 'phil': 'python'
... }
>>> print('The following languages have been mentioned: ')
The following languages have been mentioned:
>>> for language in set(favorite_languages.values()):
... print(language.title())
...
Python
C
Ruby
>>>
​
NOTICE: python only outputs once