字典
字典就是用大括号括起来的一系列的键值对,键值对用冒号隔开,每个键值对用逗号隔开
比如描述一个物体的大小和所在的位置
thing={'size':'big', 'posx':5, 'posy':10}
print(thing, thing['size'])
字典的访问直接可以通过下标的方式访问,和列表类似,只不过列表的下标是数字,而字典的下标可以是几乎任意类型
向字典中添加元素
比如要描述物体的朝向
thing['direction']='north'
print(thing)
修改字典中的值
比如物体发生的位移,并且方向也发生了变化
thing['direction']='west'
thing['posx']=2
print(thing)
删除字典中的值
比如物体的运动维度从二维降到了一维,需要删除y的坐标
del thing['posy']
print(thing)
所以,字典元素的添加,修改和删除可以直接使用下标进行操作,只不过删除字典需要使用关键字del
字典的遍历
同时遍历键值对,使用字典中的items方法
for key, val in thing.items():
print(key, val)
只遍历键
for key in thing.keys():
print(key)
for key in thing:
print(key)
可以结合前面的sorted函数,对键进行按序遍历
for key in sorted(thing.keys()):
print(key)
使用values方法遍历字典中所有的值
for val in thing.values():
print(val)
如果需要对值进行去重,可以使用set方法
thing['posy']=2
for val in thing.values():
print(val)
print('---------------------')
for val in set(thing.values()):
print(val)
字典与列表的相互嵌套
在Python中,列表中的元素可以是字典和列表,字典中的元素也可以是列表和字典
列表中的列表
l1=list(range(0,10))
print(l1)
l1.append([x for x in range(0,5)])
print(l1)
l1中的最后一个元素就是列表
列表中的字典
l1.insert(-1,{'posz':10})
print(l1)
列表中的倒数第二个元素就是键值对
字典中的列表
d1={'nums':[x for x in range(0,5)],
'sqrt':[x*x for x in range(0,5)]}
print(d1)
字典中的每个值都是一个列表
字典中的字典
d1={'nums':[x for x in range(0,5)],
'sqrt':[x*x for x in range(0,5)]}
print(d1)
d1['thing']=thing
print(d1)
字典中最后一个元素的值是一个字典
while循环填充字典
d2={}
flag=True
while flag:
key=input("input key")
value=input("input value")
d2[key]=value
repeat=input('input yes or no')
if repeat=='yes':
flag=True
else:
flag=False
print(d2)
这个程序只是个示例,还需要添加异常处理
参考书籍:《Python编程从入门到实践》
欢迎大家评论交流,作者水平有限,如有错误,欢迎指出