Python知识点5——字典

字典

字典就是用大括号括起来的一系列的键值对键值对用冒号隔开,每个键值对用逗号隔开

比如描述一个物体的大小和所在的位置

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编程从入门到实践》

欢迎大家评论交流,作者水平有限,如有错误,欢迎指出

发布了7 篇原创文章 · 获赞 9 · 访问量 8636

猜你喜欢

转载自blog.csdn.net/Master_Cui/article/details/105332904
今日推荐