字典

字典:是一系列    键-值    对;每个键都与一个值相关联;


可以通过使用键来访问与之对应的值;与键相关联的值可以是数字、列表、乃至字典。


字典用花括号{ }-值  是两个相关联的值。指定键时,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)



执行结果:




{'沈巍伟': {'姓': '沈', '名': '巍伟', '地址': '盐城'}, '袁凌凌': {'姓': '袁', '名': '凌凌', '地址': '泰兴'}}

沈巍伟

沈   巍伟   盐城

{'姓': '沈', '名': '巍伟', '地址': '盐城'}


袁凌凌

袁   凌凌   泰兴

{'姓': '袁', '名': '凌凌', '地址': '泰兴'}

你可能感兴趣的:(字典)