目录
6.1 简单字典
6.2 字典使用
1.访问
2.添加
3.创建空字典
4.修改字典值
5.删除键-值对
6.由类似对象组成的字典
6.3 遍历字典
1.遍历键-值对
2.遍历键
3.按顺序遍历键
4.遍历字典中的值
6.4嵌套
1.字典列表
2.字典中存储列表
3.在字典中存储字典
作业
6.1 简单字典
>>> alien_0={'color':'green','points':5}
>>> print(alien_0['color'])
green
>>> print(alien_0['points'])
5
6.2 字典使用
字典是一系列键-值对,每个键都与一个值相关联。可用键访问与之关联的值。
字典放在花括号中的一系列键-值对表示。?键和值之间用冒号分隔,而键—值对之间用逗号分隔。?
1.访问
要获取与键相关联的值,可依次指定字典名和放在方括号内的键
2.添加
字典是动态结构,可添加键-值对
>>> alien_0
{'color': 'green', 'points': 5}
>>> alien_0['x']=0
>>> alien_0['y']=25
>>> alien_0
{'color': 'green', 'points': 5, 'x': 0, 'y': 25}
键-值对的排练顺序与添加顺序不一定相同
3.创建空字典
>>> alien_0={}
>>> alien_0['color']='green'
>>> alien_0['points']=5
>>> alien_0
{'color': 'green', 'points': 5}
4.修改字典值
>>> alien_0['points']=10
>>> alien_0
{'color': 'green', 'points': 10}
5.删除键-值对
可使用del删除键-值对,需指定字典名及其键
>>> alien_0
{'color': 'green', 'points': 10}
>>> del alien_0['color']
>>> alien_0
{'points': 10}
6.由类似对象组成的字典
>>> favorite_languages={
... 'jen':'python',
... 'sarah':'c',
... 'edward':'c++',
... 'phil':'python',
... }
>>> favorite_languages
{'jen': 'python', 'sarah': 'c', 'edward': 'c++', 'phil': 'python'}
>>> print(favorite_languages['edward'])
c++
6.3 遍历字典
1.遍历键-值对
若要访问字典中所有信息,使用for循环遍历字典
>>> user={'name':'efermi','first':'enrico','last':'fermi'}
>>> for key,value in user.items():
... print(key)
... print(value)
...
name
efermi
first
enrico
last
fermi
需声明两个用于存储的变量。?items() 函数以列表返回可遍历的(键, 值) 元组数组。
2.遍历键
>>> favorite_languages={'jen':'python','sarah':'c','edward':'rudy','phil':'c++'}
>>> for name in favorite_languages.keys():
... print(name)
...
jen
sarah
edward
phil
>>> if 'curry' not in favorite_languages.keys():
... print("查无此人")
...
查无此人
遍历字典时,默认遍历所有键。
keys():返回键值
3.按顺序遍历键
字典获取时,顺序不可预测,可使用sorted()获得按特定顺序排列的键
>>> for name in sorted(favorite_languages.keys()):
... print(name)
...
edward
jen
phil
sarah
sorted()将对字典内键按字母顺序排列
4.遍历字典中的值
values()可以返回列表中的值
>>> favorite_languages={'jen':'python','sarah':'c','edward':'rudy','phil':'c++'}
>>> for language in favorite_languages.values():
... print(language)
...
python
c
rudy
c++
若字典值中含重复项,可使用集合set
>>> favorite_languages={'jen':'python','sarah':'c','edward':'rudy','phil':'c'}
>>> for language in set(favorite_languages.values()):
... print(language)
...
c
rudy
python
6.4嵌套
将列表存储在字典或将字典存储在列表内,称为嵌套
1.字典列表
>>> alien_0={'color':'green','points':5}
>>> alien_1={'color':'red','points':10}
>>> alien_2={'color':'black','points':15}
>>> aliens=[alien_0,alien_1,alien_2]
>>> aliens
[{'color': 'green', 'points': 5}, {'color': 'red', 'points': 10}, {'color': 'black', 'points': 15}]
2.字典中存储列表
>>> pizza={
... 'crust':'thick',
... 'toppings':['mushrooms','extra cheese'],
... }
>>> pizza
{'crust': 'thick', 'toppings': ['mushrooms', 'extra cheese']}
>>> for topping in pizza['toppings']:
... print('\t'+topping)
...
mushrooms
extra cheese
3.在字典中存储字典
>>> users={
... 'ayton':{'first':'albert','last':'ainstein','location':'princeton'},
... 'paul':{'first':'marie','last':'curie','location':'paris'},
... }
>>> for username,user_info in users.items():
... print(username)
... location=user_info['location']
... print(location)
...
ayton
princeton
paul
paris
作业
|