字典:是一系列 键-值 对;每个键都与一个值相关联;
可以通过使用键来访问与之对应的值;与键相关联的值可以是数字、列表、乃至字典。
字典用花括号{ }
键-值 是两个相关联的值。指定键时,python返回与之对应的相关联的值。
键和值之间用冒号分隔; 而 键-值 对之间用逗号分隔。在字典中,你想存储多少个 键-值 都可以。
1、创建字典和访问字典中的值
示例:
alien_0 = {'color':'green','points':5}
print(alien_0['color'])
print(alien_0['points'])
执行结果:
green
5
---------------------------------------------------
示例:
alien_0 = {'color':'green','points':5}
print(alien_0['color'])
print(alien_0['points'])
print(alien_0)
执行结果:
green
5
{'color': 'green', 'points': 5}
-----------------------------------------------------------------------
2、添加键——值
注意: 键——值 排列的顺序与添加的顺序不同,python不关心这一点。
示例:
alien_0 = {'color':'green','points':5}
print(alien_0['color']) #打印 键-值
print(alien_0['points']) #打印 键-值
print(alien_0) #打印 字典
alien_0['x_position'] = 12 #添加 键-值
alien_0['y_position'] = 21 #添加 键-值
print(alien_0) #打印 字典
print(alien_0['x_position']) #打印 键-值
print(alien_0['y_position']) #打印 键-值
执行结果:
green
5
{'color': 'green', 'points': 5}
{'color': 'green', 'points': 5, 'x_position': 12, 'y_position': 21}
12
21
----------------------------------------------------------------------------------
3、创建一个空字典
可以先用一对空的花括号定义一个字典,再分行添加各个键-值对
示例:
alien_0 = { }
alien_0['color'] = 'green'
alien_0['points'] = 5
alien_0['x_position'] = 12
alien_0['y_position'] = 21
print(alien_0)
执行结果:
{'color': 'green', 'points': 5, 'x_position': 12, 'y_position': 21}
--------------------------------------------------------------------------
4、修改 字典中的值
示例:
alien_0 = { }
alien_0['color'] = 'green'
alien_0['points'] = 5
alien_0['x_position'] = 12
alien_0['y_position'] = 21
print(alien_0)
alien_0['color'] = 'red'
print(alien_0)
执行结果:
{'color': 'green', 'points': 5, 'x_position': 12, 'y_position': 21}
{'color': 'red', 'points': 5, 'x_position': 12, 'y_position': 21}
------------------------------------------------------------------------
5、删除 键-值
使用del,永久性删除
示例:
alien_0 = { }
alien_0['color'] = 'green'
alien_0['points'] = 5
alien_0['x_position'] = 12
alien_0['y_position'] = 21
print(alien_0)
del alien_0['y_position']
print(alien_0)
执行结果:
{'color': 'green', 'points': 5, 'x_position': 12, 'y_position': 21}
{'color': 'green', 'points': 5, 'x_position': 12}
-----------------------------------------------------------------------------------
6、有类似对象组成的字典
示例:
favorite_languages = {
'shen': 'python',
'yuan': 'JAVA',
'chen': 'c++',
'long': 'delphi',
}
print('shen 最喜欢的编程语言是: ' + favorite_languages['shen'].title())
执行结果:
shen 最喜欢的编程语言是: Python
=================================================================================
=================================================================================
=================================================================================
三、遍历字典
1、使用for循环和items()方法,
注意:即便在遍历字典时,键-值对的返回顺序也与存储顺序不同,python不关心存储顺序,只关心和跟踪键-值之间的关联关系。
示例:
favorite_languages = {
'shen': 'python',
'yuan': 'java',
'chen': 'c++',
'long': 'delphi',
'huge':'ruby',
}
print(favorite_languages)
for xingming,kecheng in favorite_languages.items() :
print('\n姓名:'+xingming)
print('课程:'+kecheng)
执行结果:
{'shen': 'python', 'yuan': 'java', 'chen': 'c++', 'long': 'delphi', 'huge': 'ruby'}
姓名:shen
课程:python
姓名:yuan
课程:java
姓名:chen
课程:c++
姓名:long
课程:delphi
姓名:huge
课程:ruby
示例:
favorite_languages = {
'shen': 'python',
'yuan': 'java',
'chen': 'c++',
'long': 'delphi',
'huge':'ruby',
}
print(favorite_languages)
for xingming,kecheng in favorite_languages.items() :
print('\n姓名:'+xingming + ' '+ '课程:'+kecheng)
执行结果:
{'shen': 'python', 'yuan': 'java', 'chen': 'c++', 'long': 'delphi', 'huge': 'ruby'}
姓名:shen 课程:python
姓名:yuan 课程:java
姓名:chen 课程:c++
姓名:long 课程:delphi
姓名:huge 课程:ruby
---------------------------------------------------------------------------------------------------
2、遍历字典中的所有键
使用方法key(),方法key()实际上返回的是一个列表
示例:
favorite_languages = {
'shen': 'python',
'yuan': 'java',
'chen': 'c++',
'long': 'delphi',
'huge': 'ruby',
}
print(favorite_languages)
for xingming in favorite_languages.keys() :
print('\n姓名:'+xingming)
执行结果:
{'shen': 'python', 'yuan': 'java', 'chen': 'c++', 'long': 'delphi', 'huge': 'ruby'}
姓名:shen
姓名:yuan
姓名:chen
姓名:long
姓名:huge
-----------------------------------------------------------------------------------------------
示例:
favorite_languages = {
'shen': 'python',
'yuan': 'java',
'chen': 'c++',
'long': 'delphi',
'huge': 'ruby',
}
print(favorite_languages)
print(favorite_languages.keys())
执行结果:
{'shen': 'python', 'yuan': 'java', 'chen': 'c++', 'long': 'delphi', 'huge': 'ruby'}
dict_keys(['shen', 'yuan', 'chen', 'long', 'huge'])
----------------------------------------------------------------------------------------
示例:
favorite_languages = {
'shen': 'python',
'yuan': 'java',
'chen': 'c++',
'long': 'delphi',
'huge': 'ruby',
}
print(favorite_languages)
if 'shen' in favorite_languages.keys() :
print('沈 正在接受学习')
执行结果:
{'shen': 'python', 'yuan': 'java', 'chen': 'c++', 'long': 'delphi', 'huge': 'ruby'}
沈 正在接受学习
-------------------------------------------------------------------------------------------
3、按顺序遍历字典中的所有键
使用sorted()方法,遍历前对这个列表进行排序
示例:
favorite_languages = {
'shen': 'python',
'yuan': 'java',
'chen': 'c++',
'long': 'delphi',
'huge': 'ruby',
}
print(favorite_languages)
for xingming in sorted(favorite_languages.keys()) :
print('\n姓名:'+xingming)
执行结果:
{'shen': 'python', 'yuan': 'java', 'chen': 'c++', 'long': 'delphi', 'huge': 'ruby'}
姓名:chen
姓名:huge
姓名:long
姓名:shen
姓名:yuan
--------------------------------------------------------------------------------------------
4、遍历字典中的所有值
使用方法values(),返回一个值的列表,而不包含任何键。
示例:
favorite_languages = {
'shen': 'python',
'yuan': 'java',
'chen': 'c++',
'long': 'delphi',
'huge': 'ruby',
}
print(favorite_languages)
for kc in favorite_languages.values() :
print('\n课程:'+kc)
for kc in sorted(favorite_languages.values()):
print('\n课程:' + kc)
执行结果:
{'shen': 'python', 'yuan': 'java', 'chen': 'c++', 'long': 'delphi', 'huge': 'ruby'}
课程:python
课程:java
课程:c++
课程:delphi
课程:ruby
课程:c++
课程:delphi
课程:java
课程:python
课程:ruby
--------------------------------------------------------------------------------------------
结果值不重复,使用set()方法
示例:
favorite_languages = {
'shen': 'python',
'yuan': 'java',
'chen': 'java',
'long': 'python',
'huge': 'ruby',
}
print(favorite_languages)
for kc in favorite_languages.values() :
print('\n课程:'+kc)
for kc in set(favorite_languages.values()):
print('\n课程:' + kc)
执行结果:
{'shen': 'python', 'yuan': 'java', 'chen': 'java', 'long': 'python', 'huge': 'ruby'}
课程:python
课程:java
课程:java
课程:python
课程:ruby
课程:ruby
课程:python
课程:java
================================================================================================
================================================================================================
================================================================================================
================================================================================================
四、嵌套
示例:
for a in range(30) :
print(a)
执行结果:
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
--------------------------------------------------------
1、列表中嵌入字典
示例:
alien_0 = { 'color': 'green' , 'points': 5 }
alien_1 = { 'color': 'follow' , 'points': 15 }
alien_2 = { 'color': 'blue' , 'points': 25 }
alien_3 = { 'color': 'white' , 'points': 35 }
alien_4 = { 'color': 'red' , 'points': 45 }
aliens = [ alien_0,alien_1,alien_2,alien_3,alien_4]
print(aliens)
for alies in aliens :
print(alies)
执行结果:
[{'color': 'green', 'points': 5}, {'color': 'follow', 'points': 15}, {'color': 'blue', 'points': 25}, {'color': 'white', 'points': 35}, {'color': 'red', 'points': 45}]
{'color': 'green', 'points': 5}
{'color': 'follow', 'points': 15}
{'color': 'blue', 'points': 25}
{'color': 'white', 'points': 35}
{'color': 'red', 'points': 45}
-------------------------------------------------------------------
示例:
aliens = [ ] #创建一个空的外心人列表
for alien_number in range(30) : #创建30个绿色外星人
new_alien = {'color': 'green', 'points': 5}
aliens.append(new_alien)
print(aliens)
for alien in aliens[ :3] :
print(alien)
执行结果:
[{'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}]
{'color': 'green', 'points': 5}
{'color': 'green', 'points': 5}
{'color': 'green', 'points': 5}
-------------------------------------------------------------------
2、在字典中存储列表
示例:
favorite_languages = {
'shen': ['python','java'],
'yuan': 'java',
'chen': ['c','c++'],
'long': 'delphi',
'huge':['java','ruby'],
}
print(favorite_languages)
执行结果:
{'shen': ['python', 'java'], 'yuan': 'java', 'chen': ['c', 'c++'], 'long': 'delphi', 'huge': ['java', 'ruby']}
-----------------------------------------------------------------------------------------------------------------------
示例:
favorite_languages = {
'shen': ['python','java'],
'yuan': ['java'],
'chen': ['c','c++'],
'long': ['delphi'],
'huge':['java','ruby'],
}
print(favorite_languages)
for xingming,kecheng in favorite_languages.items() :
print('\n姓名:'+xingming)
for kc in kecheng :
print('课程:'+kc)
执行结果
{'shen': ['python', 'java'], 'yuan': ['java'], 'chen': ['c', 'c++'], 'long': ['delphi'], 'huge': ['java', 'ruby']}
姓名:shen
课程:python
课程:java
姓名:yuan
课程:java
姓名:chen
课程:c
课程:c++
姓名:long
课程:delphi
姓名:huge
课程:java
课程:ruby
--------------------------------------------------------------------------------
3、在字典中存储字典
示例:
users = {
'沈巍伟' : { '姓': '沈',
'名': '巍伟',
'地址':'盐城',
},
'袁凌凌': {'姓': '袁',
'名': '凌凌',
'地址': '泰兴',
},
}
print(users)
for username,user_info in users.items() :
print(username)
print(user_info['姓']+' '+user_info['名']+' '+user_info['地址'])
print(user_info)
执行结果:
{'沈巍伟': {'姓': '沈', '名': '巍伟', '地址': '盐城'}, '袁凌凌': {'姓': '袁', '名': '凌凌', '地址': '泰兴'}}
沈巍伟
沈 巍伟 盐城
{'姓': '沈', '名': '巍伟', '地址': '盐城'}
袁凌凌
袁 凌凌 泰兴
{'姓': '袁', '名': '凌凌', '地址': '泰兴'}