Python Foundation for Personal Phone Profile (4): Dictionary
Dictionary Definition
Definition: In Python, a dictionary is a series of key-value pairs, with each key associated with a value.
In Python, a dictionary encloses a series of key-value pairs in curly braces. You can store as many key-value pairs as you want in the dictionary, separated by commas.
people = {'name': "xiaowang",'age': 18,'points': 85}
Dictionary Operation
The dictionary operations described here are access, traverse, add, modify, delete
Visit
To access a value in a dictionary, we simply put the key corresponding to that value in [], as follows:
people = {'name': "xiaowang",'age': 18,'points': 85} print(people['name']) #Print results xiaowang
ergodic
If we need to get all the elements in a dictionary, then we have to use an efficient method to get them, and then we can use a for loop to iterate through the dictionary
1. Traverse through all key-value pairs
user = {'name':'jery','hair':'black','lover':'tom'} for key,value in user.items(): print("Key:"+key) print("Value:"+value+'\n') #Print results Key:name Value:jery Key:hair Value:black Key:lover Value:tom
Case Study:
(1) To get the key-value, we need to declare that two variables store the key-value pair to get the key and value, that is, the key and value declared in the for loop in the case
(2) Since we are traversing the keys and values of all key-value pairs, we use the method items () to return a key-value pair
2. Traverse all keys
user = {'name':'jery','hair':'black','lover':'tom'} for key in user.keys(): print(key) #Print results name hair lover
Case Study:
(1) When we only need to get the middle key of a key-value pair, we only need to use the method keys()
(2) Because we only need to get the middle key of the key-value pair, we only need to declare a variable in the for loop to store the information for each key.
3. Traverse all values
user = {'name':'jery','hair':'black','lover':'tom'} for value in user.values(): print(value) #Print results jery black tom
Case Study:
(1) When we only need to get the middle value of a key-value pair, we need to use the method values()
(2) Because we only need to get the middle key of the key-value pair, we only need to declare a variable in the for loop to store information about each value.
Add key-value pairs
A dictionary is a dynamic structure that allows you to add key-value pairs at any time by specifying the dictionary name, putting keys in [], and assigning the associated values as follows:
#Add a new key-value pair to the dictionary,'home':'beijing'and'food':'apple' people = {'name':'xiaowang','age':18,'points':85} people['home'] = 'beijing' people['food'] = 'apple' print(people) #Print results {'name': 'xiaowang', 'age': 18, 'points': 85, 'home': 'beijing', 'food': 'apple'}
Note: Key-worth ordering does not necessarily mean adding order, because Python does not care about key-worth ordering, only about keys and worth associating relationships
Modify key-value pairs
If we want to modify the values in the dictionary, we just need to associate the keys with the new values.
Because the assignment of a new value will overwrite the original value to achieve the purpose of modification.
As follows:
people = ['name':'xiaowang'] print('My name is '+people['name']) people['name'] = 'liuliu' print(people) #Print results My name is xiaowang ['name':'liuliu']
Delete key-value pairs
For information that is not needed in a dictionary, we can delete it using a del statement.When using the Del statement, you need to specify the dictionary name and the key to delete
As follows:
#Delete'points':85 and print out the new dictionary people = {'name':'xiaowang','age':18,'points':85} del people['points'] print(people) #Print results {'name':'xiaowang','age':18}
Nested application of dictionaries
There are three common nested applications of dictionaries listed below. As these three nested ideas are easy to understand through case studies, they are not explained too much, but they still need to be practiced and consolidated in order to be proficient.
1. Dictionary List
user_1 = {'name':'mark','hair':'long'} user_2 = {'name':'jack','hair':'short'} user_3 = {'name':'jenny','hair':'long'} users = [user_1,user_2,user_3] for user in users: print(user) #Print results {'name':'mark','hair':'long'} {'name':'jack','hair':'short'} {'name':'jenny','hair':'long'}
2. Nest lists in dictionaries
users_lists = { 'xiaoming':['banana','apple'], 'xiaoliu':['orange'] } for name,foods in users_lists.items(): print('\n'+name.title() + "'s favourite food are:") for food in foods: print('\t'+food.title()) #Print results Xiaoming's favourite food are: Banana Apple Xiaoliu's favourite food are: Orange
Case Study:
Keys in a dictionary are unique, but values are stored as lists, so getting a value requires a for loop to iterate through the fetch
3. Nesting dictionaries in dictionaries
If we set two dictionaries as a dictionary and b dictionary, then b dictionary is nested in a dictionary, then b dictionary will be used as the value of a dictionary key-value pair
users_lists = { 'user_1':{ 'name' = 'xiaoming', 'hair' = 'long' }, 'user_2':{ 'name' = 'xiaowang', 'hair' = 'short' } } for user,user_info in users_lists.items(): print('\nUser_number:'+user) message = user_info['name'].title+ 'has a '+user_info['hair']+'hair' print('\t'+message) #Print results User_number: user_1 Xiaoming has a long hair User_number: user_2 Xiaowang has a short hair
Case Study:
First, we define a dictionary, users_lists, which contains two keys, user_1 and user_2.
(2) Each key is associated with a dictionary containing name and hair
(3) We first iterated through the dictionary users_lists with a for loop, and stored the keys in user and the values (dictionaries) in user_info.
(4) Next output key information [print('\nUser_number:'+user)]
Extract information from a nested dictionary to make up the content we want message [message = user_info['name']. title+'has a'+user_info['hair']+'hair']
Print message
Repeat the for loop statement until the end
-------------------------
Every time you compliment me, I seriously think I like it~~