Python字典

在Python中,字典是一系列的键—值对,,每个键都与一个值相关联,你可以通过键来访问与之相关联的值。与键相关联的值可以是数字、字符串、列表、乃至字典。事实上可以将任何Python对像用作字典的值。

键—值对是两个相关联的值,指定键时,Python将返回与之相关联的值,键和值之间用冒号隔开,而键—值对之间用逗号隔开。在字典中可以存储任意多个键—值对。

如下创建一个简单的字典,文件名boy.py

1 boy = {'lastName':'Ailun','firstName':'Bob','age':'25','city':'Beijing'}

(1) 访问字典中的值

     要获取与键相关的值,可以依次指定子弹名和放在方括号内的键,也就是可以通过键来访问与键相关联的值

在上述例子中,键分别为lastName,firstName,age,city

下面分别获取lastName,firstName,age,city四个键对应的值:

 1 >>> boy
 2 {'lastName': 'Ailun', 'firstName': 'Bob', 'age': '25', 'city': 'Beijing'}
 3 >>> boy['lastName']
 4 'Ailun'
 5 >>> boy['firstName']
 6 'Bob'
 7 >>> boy['age']
 8 '25'
 9 >>> boy['city']
10 'Beijing'
11 >>> 

(2) 添加键—值对

     下面在字典中添加两个键,分别为job和salary:

1 >>> boy
2 {'lastName': 'Ailun', 'firstName': 'Bob', 'age': '25', 'city': 'Beijing'}
3 >>> boy['job']='IT'
4 >>> boy
5 {'lastName': 'Ailun', 'firstName': 'Bob', 'age': '25', 'city': 'Beijing', 'job': 'IT'}
6 >>> boy['salary']='15000'
7 >>> boy
8 {'lastName': 'Ailun', 'firstName': 'Bob', 'age': '25', 'city': 'Beijing', 'job': 'IT', 'salary': '15000'}
9 >>> 

   添加键值可以先创建空字典,然后再在字典中添加键—值对,如下所示

>>> alien_0 = {}
>>> alien_0['color'] = 'green'
>>> alien_0['point'] = 5
>>> alien_0
{'color': 'green', 'point': 5}
>>> 

(3) 修改字典中的值 

     如将上述boy字典的age键值改为26,代码如下所示:

1 >>> boy
2 {'lastName': 'Ailun', 'firstName': 'Bob', 'age': '25', 'city': 'Beijing', 'job': 'IT', 'salary': '15000'}
3 >>> boy['age'] = 26
4 >>> boy
5 {'lastName': 'Ailun', 'firstName': 'Bob', 'age': 26, 'city': 'Beijing', 'job': 'IT', 'salary': '15000'}
6 >>> 

 (4) 删除键—值对

    删除键—对有两种方式,第一种是使用del语句,第二种是使用pop函数,

    1、如使用del语句删除city键及其相关联的值,代码如下所示

1 >>> boy
2 {'lastName': 'Ailun', 'firstName': 'Bob', 'age': 26, 'city': 'Beijing', 'job': 'IT', 'salary': '15000'}
3 >>> del boy['city']
4 >>> boy
5 {'lastName': 'Ailun', 'firstName': 'Bob', 'age': 26, 'job': 'IT', 'salary': '15000'}
6 >>> 

    2、使用pop函数删除city键及其相关联的值,代码如下所示

1 >>> boy['city']='Beijing'
2 >>> boy
3 {'lastName': 'Ailun', 'firstName': 'Bob', 'age': 26, 'job': 'IT', 'salary': '15000', 'city': 'Beijing'}
4 >>> boy.pop('city')
5 'Beijing'
6 >>> boy
7 {'lastName': 'Ailun', 'firstName': 'Bob', 'age': 26, 'job': 'IT', 'salary': '15000'}
8 >>>

(5) 字典的遍历

     要编写用于字典遍历的for循环,可以声明两个变量用来存储键—值对中的键和值,如下所示

 1 >>> boy
 2 {'lastName': 'Ailun', 'firstName': 'Bob', 'age': 26, 'job': 'IT', 'salary': '15000'}
 3 >>> for k, v in boy.items():
 4     print(k,v)
 5 
 6     
 7 lastName Ailun
 8 firstName Bob
 9 age 26
10 job IT
11 salary 15000
12 >>> 
代码中的items()函数的作用是以列表的形式返回可遍历的(键,值)元组数组
1 >>> boy
2 {'lastName': 'Ailun', 'firstName': 'Bob', 'age': 26, 'job': 'IT', 'salary': '15000'}
3 >>> boy.items()
4 dict_items([('lastName', 'Ailun'), ('firstName', 'Bob'), ('age', 26), ('job', 'IT'), ('salary', '15000')])
5 >>> 

(6) 遍历字典中所有的键

 1 >>> boy
 2 {'lastName': 'Ailun', 'firstName': 'Bob', 'age': 26, 'job': 'IT', 'salary': '15000'}
 3 >>> for i in boy.keys():
 4     print(i)
 5 
 6     
 7 lastName
 8 firstName
 9 age
10 job
11 salary
12 >>> 

(7) 遍历字典中所有的值

     遍历字典中所有的值可以使用方法values(),其返回一个值列表,而不包含任何键,如获取上述boy字典中所有的值,代码如下所示:

 1 >>> boy
 2 {'lastName': 'Ailun', 'firstName': 'Bob', 'age': 26, 'job': 'IT', 'salary': '15000'}
 3 >>> for i in boy.values():
 4     print(i)
 5 
 6     
 7 Ailun
 8 Bob
 9 26
10 IT
11 15000
12 >>> 

(8) 字典的嵌套

        有时候需要将一系列字典存储在列表中,或者将列表作为值存储在字典中,这称为嵌套。列表中可以嵌套字典,在字典中嵌套列表,在字典中嵌套字典

1、列表中嵌套字典

1 >>> boy = {'lastName':'Ailun','firstName':'Bob','age':'25','city':'Beijing'}
2 >>> boy1 = {'lastName':'sklen','firstName':'rust','age':'21','city':'tianjin'}
3 >>> boy2 = {'lastName':'tangigle','firstName':'kate','age':'19','city':'shanghai'}
4 >>> 

      我们创建如上三个字典,现在我们将三个字典添加到一个列表boy3中去,代码如下:

1 >>> boy3=[boy,boy1,boy2]
 遍历这个列表,将每个男孩的信息打印出来:
1 >>> for boy_name in boy3:
2     print (boy_name)
3 
4     
5 {'lastName': 'Ailun', 'firstName': 'Bob', 'age': '25', 'city': 'Beijing'}
6 {'lastName': 'sklen', 'firstName': 'rust', 'age': '21', 'city': 'tianjin'}
7 {'lastName': 'tangigle', 'firstName': 'kate', 'age': '19', 'city': 'shanghai'}
8 >>>   

2、字典中存储列表

1 >>> pizza = {'crust':'thick','toppings':['mushroom','extra cheese']}
2 >>> for top in pizza['toppings']:
3     print(top+'	')
4 
5     
6 mushroom    
7 extra cheese    
8 >>> 

3、字典中存储字典

 1 >>> users = {'aeinstein':{},'mcurie':{}}
 2 >>> users = {'aeinstein':{'first':'albert','last':'stein','location':'princeton'},'mcurie':{'first':'marie','last':'curie','location':'paris'}}
 3 >>> users
 4 {'aeinstein': {'first': 'albert', 'last': 'stein', 'location': 'princeton'}, 'mcurie': {'first': 'marie', 'last': 'curie', 'location': 'paris'}}
 5 >>> for user_name,user_info in users.items():
 6     print('Users_name: ',user_name)
 7     print('	'+'Full_name: ',user_info['first'].title()+' '+user_info['last'].title())
 8     print('	'+'Location: ',user_info['location'].title())
 9 
10           
11 Users_name:  aeinstein
12     Full_name:  Albert Stein
13     Location:  Princeton
14 Users_name:  mcurie
15     Full_name:  Marie Curie
16     Location:  Paris
17 >>> 
































原文地址:https://www.cnblogs.com/ccdblogs/p/10961215.html