字典
字典就是用大括號括起來的一系列的鍵值對,鍵值對用冒號隔開,每個鍵值對用逗號隔開
比如描述一個物體的大小和所在的位置
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編程從入門到實踐》
歡迎大家評論交流,作者水平有限,如有錯誤,歡迎指出