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編程從入門到實踐》

歡迎大家評論交流,作者水平有限,如有錯誤,歡迎指出

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章