字典:是一系列 键-值 对;每个键都与一个值相关联; 可以通过使用键来访问与之对应的值;与键相关联的值可以是数字、列表、乃至字典。 字典用花括号{ } 键-值 是两个相关联的值。指定键时,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) 执行结果: {'沈巍伟': {'姓': '沈', '名': '巍伟', '地址': '盐城'}, '袁凌凌': {'姓': '袁', '名': '凌凌', '地址': '泰兴'}} 沈巍伟 沈 巍伟 盐城 {'姓': '沈', '名': '巍伟', '地址': '盐城'} 袁凌凌 袁 凌凌 泰兴 {'姓': '袁', '名': '凌凌', '地址': '泰兴'}