# 简单的字典案例
alien_0 = {'color':'green','points':5}
print(alien_0['color'])
print(alien_0['points'])
# 看了这个例子许多朋友应该就知道字典是什么了,其实就是类似于键值对的形式
# 字典的使用:字典放在花括号{},用一系列键值对表示,如上述示例所示
# 键值对包含两个相互关联的值,当你指定键时,python会返回与之关联的1,键和值之间用冒号分隔,而键值对用之间用逗号分隔.在字典中,可以存储任意多个键值对
# 访问字典中的值:要获取与键关联的值,可指定字典名并把键放在后面的方括号
print(alien_0['color'])
# 添加键值对:字典是一种动态结构,可随时在其中添加键值对.要添加键值对,可依次指定字典名、用方括号括起来的键和与该键关联的值,字典会保留定义时的元素排列顺序,并且添加键值对时,键值对排列顺序和添加顺序相同
print(alien_0)
alien_0['x_position']=100
print(alien_0)
# 修改字典中的值:要修改字典中的值,可一次指定字典名、用方括号括起来的键和与该键关联的新值
alien_0['color']='yellow'
print(alien_0)
# 删除键值对:对于字典中不再需要的信息,可使用del语句将对应的键值对彻底删除.再使用del语句时,必须指定字典名和要删除的键(一样的是del语句删除一样是彻底删除)
print(alien_0)
del alien_0['points']
print(alien_0)
# 使用get()来访问值:使用放在方括号内的键从字典中获取感兴趣的值,可能会引发问题:如果指定的键不存在,就将出错
# 这时可以用get()来避免这种错误,使用get()时,可以指定键不存在时返回默认值,第一个参数是
# 想找的键,存在即返回值,不存在就返回第二个参数的默认值,第二个参数也可以为空
alien_0 = {'color':'green','points':5}
print(alien_0.get('color'))
print(alien_0.get('points'))
print(alien_0.get('name','这个键不存在'))
print(alien_0.get('name'))
# 遍历字典
# 遍历所有的键值对
# alien_0.items()用来返回一个键值对列表,然后for循环依次将每个键值对赋给指定的两个变量
for key,value in alien_0.items():
print(f"key:{key}")
print(f"value:{value}")
# 遍历字典中的所有键
# 如果说for key in alien_0:这也是返回键,因为默认就是键
for key in alien_0.keys():
print(key)
# 按特定的顺序遍历字典中的所有键,这里这个sorted()函数会返回一个列表,这个列表中的元素是按照字典中键的顺序排列的,我们在之前见过
for key in sorted(alien_0.keys()):
print(key)
# 遍历字典中的所有值
for value in alien_0.values():
print(value)
# 有时候我们怕值中有重复值,可以使用集合(set),集合中的每个元素都必须是独一无二的。这点和其他语言中的hashset或者set很像
values = set(alien_0.values()) #这里我们可以现在字典里面加入重复的值,然后再看看效果。
print(values)
# 创建一个空字典
alien_1 = {}
# 创建一个空集合
alien_2 = set()
# 创建一个集合
alien_3 = {'green',5}
print(type(alien_1))
print(type(alien_2))
print(type(alien_3))
# 打印上面三个输出,应该就能明白了,集合就是花括号,里面用逗号分隔,没有冒号
# 嵌套
# 字典列表
alien_0={'color':'green','points':5}
alien_1={'color':'yellow','points':10}
alien_2={'color':'red','points':15}
aliens=[alien_0,alien_1,alien_2]
for alien in aliens:
print(alien)
# 在字典中存储列表
people={'name':'zhangsan','age':18,'hobby':['football','basketball']}
print(people['hobby'])
# 在字典中存储字典
people={'name':'zhangsan','age':18,'hobby':{'football':'good','basketball':'bad'}}
print(people['hobby']['football'])
# 在字典中存储元组
people={'name':'zhangsan','age':18,'hobby':('football','basketball')}
print(people['hobby'][0])
# 在字典中存储集合
people={'name':'zhangsan','age':18,'hobby':{'football','basketball'}}
print(people['hobby'])
# 到这里,字典的只是差不多已经结束了,我这里并没有用书本里的例子,我认为我们只需要掌握到这里,其他的我们碰到需求时再去想就够够的了。