“”“Python基础知识_字典(dict)”“”
6.1 一个简单的字典(dict)
字典组成:键:值 (key:value)
alien_0 = {'color':'green','points':5}
print(alien_0['color'])
print(alien_0['points'])
结果:
green
5
6.2 使用字典
字典定义:一系列键—值对 (每一个键和一个值相关联)
值的访问:通过键来访问
值可为:数字、字符串、列表、字典(任何Python对象都可作为字典的值)
键和值之间用冒号分隔(:)
注意:值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
alien_0 = {'color':'green'}
n = len((alien_0)) # 获取字典的长度
print(type(alien_0)) # 查看数据类型
print(n)
结果:
<class 'dict'>
1
6.2.1 访问字典中的值
方法:字典名 [key]
alien_0 = {'color':'green'}
print(alien_0['color'])
结果:
green
案例:
alien_0 = {'color':'green','points':5}
new_points = alien_0['points']
print("Your just earned " + str(new_points) + " points" + ".")
结果:
Your just earned 5 points.
6.2.2 添加键-值对
字典是一种动态结构,可随时在其中添加键-值对
方法:字典名[键] = 相关联的值
alien_0 = {'color':'green','points':5}
print(alien_0)
结果:
{'color': 'green', 'points': 5}
添加键-值对
alien_0['x_position'] = 0
alien_0['y_position'] = 25
print(alien_0)
结果:
{'color': 'green', 'points': 5, 'x_position': 0, 'y_position': 25}
Python不关心键-值对的添加顺序,而只关心键和值之间的关联关系
6.2.3 创建一个空字典
alien_0 = {}
alien_0['color'] = 'green'
alien_0['points'] = 5
print(alien_0)
结果:
{'color': 'green', 'points': 5}
用途:使用字典来存储用户提供的数据或在编写能自动生成大量键-值对的代码时,
通常都需要先定义一个空字典
6.2.4 修改字典中的值
alien_0 = {'color':'green'}
print("The alien is " + alien_0['color'] + '.')
alien_0['color'] = 'yellow'
print("The alien is now " + alien_0['color'] + '.')
结果:
The alien is green.
The alien is now yellow.
例子:根据速度判断外星人行动方向
alien_0 = {'x_position':0,'y_position':25,'speed':'medium'}
向右移动外星人
据外星人当前速度决定将其移动多远
if alien_0['speed'] == 'slow':
x_increment = 1
elif alien_0['speed'] == 'medium':
x_increment = 2
else:
# 这个外星人的速度一定很快
x_increment = 3
新位置等于老位置加上增量
alien_0['x_position'] = alien_0['x_position'] + x_increment
print("New x-position: " + str(alien_0['x_position']))
结果:
Original x-position: 0
New x-position: 2
通过修改speed的值,更改位置
alien_0['speed'] = 'fast'
向右移动外星人
据外星人当前速度决定将其移动多远
if alien_0['speed'] == 'slow':
x_increment = 1
elif alien_0['speed'] == 'medium':
x_increment = 2
else:
# 这个外星人的速度一定很快
x_increment = 3
新位置等于老位置加上增量
alien_0['x_position'] = alien_0['x_position'] + x_increment
print("New x-position: " + str(alien_0['x_position']))
结果:
New x-position: 5
6.2.5 删除键-值对 del
alien_0 = { 'color':'green','points':5}
print(alien_0)
del alien_0['points']
print(alien_0)
结果:
{'color': 'green', 'points': 5}
{'color': 'green'}
6.2.6 有类似对象组成的字典
favorite_languages = {
'jen':'python',
'sarah':'c',
'edwaid':'ruby',
'phil':'python',
}
将多个键-值对分行写入用,
print("Sarah's favorite languages is " +
favorite_languages['sarah'].title()
+ "."
)
结果:
Sarah's favorite languages is C.
将较长的print语句分成多行,应该注意在合适的地方拆分。
总结:
1、字典创建:键-值对(用花括号括起来)
2、键必须为:字符串、元组、数字,即不可变的对象
3、值:可以为Python任何对象,甚至自定义数据类型
4、字典使用:使用字典名[键] 获取值
5、字典元素的添加和修改:字典名[键] = 值’
6、空字典创建: 字典名 = {}
7、字典中元素删除:del 字典名[键]