Python编程 从入门到实践 第六章 字典

6.1 一个简单的字典

大括号包扩的键值对,{‘key1’ : ‘value1’ , ‘key2’ : ‘value2’}


alien_0 = {'color' : 'green' , 'point' : 5}

6.2.1 访问字典中的值

Dictionary_Name[‘key’]的方式可以访问字典中的值,也可以进行赋值操作。


print(alien_0['color'])
print(alien_0['point'])

6.2.2 添加键值对

字典是动态的,可以随时通过Dictionary_Name[‘key’] = value 的方式添加键值对。


alien_0 = {'color' : 'green' , 'point' : 5}
alien_0['x_position'] = 0
alien_0['y_position'] = 25

6.2.3 先创建一个空字典

使用字典存储用户提供的数据或者编写能自动生成的大量键值对代码时,通常都需要先定义一个空字典。


alien_0 = {}

6.2.4 修改字典的值

Dictionary_Name[‘key’] = new_value 的方式来修改字典中对应键的值。


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

6.2.5 删除键值对

del语句可以将键值对从字典中删除。


alien_0 = {'color' : 'green' , 'point' : 5}
del alien_0['point'] #删除point键值对
print alien_0 #此时字典中已经没有point这个键值对了。

6.2.6 由类似对象组成的字典

可以将一个较大的字典多行显示,大括号之后换行,每行都缩进,写入一个键值对。

最后一个键值对添加逗号为了将来再次加入行,然后回车并缩进,写入右大括号。

favorite_language = {

'leo':'C',

'william':'Delphi',

'Kaiser':'English',

}

6.3.1遍历所有的键值对

字典的item()方法返回字典的键值对列表,所以使用for循环可以遍历字典内容。

for name , language in favorite_language.items():

print("\nUsername: " + name.title() + "\nFavorate Langues: " + language.title())

For循环依次将键值对存储到每一个变量里面。

6.3.2遍历字典中的所有键

字典的keys()方法返回一个列表,包含字典中所有的键。

for name in favorite_language.keys():

print(name.title() + " 's favorite language is " + favorite_language[name])

也可以用来判断某个值是否在字典中为键。

if ‘daniel’ not in favorite_language.keys():

print("Daniel not in the list")

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

使用sorted(dictionary.keys()) 方式现将返回的键列表排序,然后使用for循环遍历。

for name in sorted(favorite_language.keys()):

print(name + "favorite language is " + favorite_language[name])

6.3.4 遍历字典的所有值

字典的values()方法返回一个列表,包含字典中的所有的值。

for language in favorite_language.values():

print(language + ' is favorite...')

对于值列表,可能会存在大量的重复项,可以使用set函数去除重复项。

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

print(language + ' is favorite...')

6.4.1 字典嵌套

可以创建多个字典,然后把字典放置到列表中。

alien_0 = {‘color’ : ‘green’ , ‘point’ : 5}

alien_1 = {‘color’:’yellow’, ‘point’:10}

alien_2 = {‘color’:’red’, ‘point’:10}

aliens = [alien_0, alien_1, alien_2]

for alien in aliens:

for k, v in alien.items():

print k.title() + " " + str(v).title()

你可能感兴趣的:(读书笔记)