python基础 第六章 字典

122 阅读2分钟

存储字典的列表、存储列表的字典、存储字典的字典

///

alien_0={'color':'green','points':5}
print(alien_0['color'])
print(alien_0['points']

键-值对中间用的是冒号而不是等号

///

添加键—值对

ailen_0['x_position']=0
alien_0['y_position']=25

///

先创建一个空字典 在向空字典中添加键—值对(方法在上一条)

alien_0={}

///

修改字典中的值

alien_0['color']='yellow'

若'color'键存在,为修改

若不存在,为增加

///

删除键—值对(del语句)

del alien_0['points']

一种不错的字典格式:

favorite_languages={
    'jen''python',
    'sarah':'c',
    'edward':'ruby',
    'phil':'python',
    }
    

///

遍历所有的键—值对:

for key,value in user_0.items():
    print("\nkey:"+key)
    print("Value:"+value)

。。。

for name,language in favorite_languages.items():
    print(name.title()+"'s favorite language is "+language.title()+".")
    

item()是一个方法 它返回一个键—值对列表
    

///

遍历所有的键(方法keys())

for name in favorite_language.key()
    print(name.title())
    

方法key()并非只能用于遍历;实际上,它返回一个列表,其中包含字典中的所有键

可以用key()来判断一个键是否包含在字典中

if 'erin' not in favorite_languages.key(): ...

///

按顺序遍历字典中的所有键

但获取字典中元素时,获取顺序是不可预测的

要以特定的顺序返回元素,一种方法是在for循环中对返回的键进行排序。

为此 可以使用函数sorted()来获得按特定顺序的键列表的副本:

for name in sorted(favorite.lanuage.key()):
    print("name.title()+"+",thanks")
    

///

遍历字典中的所有值

如果你感兴趣的主要是字典中包含的值,可使用方法values()。

它返回一个值列表,而不包含任何键。

for language in favorite_language.values():
    print(language.title())
    

若值中有大量重复项 为剔除重复项 可使用集合(set)

集合类似于列表,但每个元素都必须是独一无二的

for language in set(favorite_language.values()):
    print(language.title())
    

///

嵌套

字典列表(在列表中嵌入字典)

fullsizerender(15).jpg

fullsizerender(16).jpg

range()返回一系列数字,其唯一的用途是告诉python我们要重复这个循环多少次

///

修改前三个机器人 将其改成黄色 利用了切片对于字典列表进行操作

fullsizerender(17).jpg

///

列表字典(在字典中存储列表)

fullsizerender(18).jpg

///

fullsizerender(20).jpg

fullsizerender(19).jpg

///

6.4.3在字典中存储字典

fullsizerender(21).jpg

///