字典dict的增刪改查

     dict字典     ,     dict增刪改查  , 添加內容能夠直接使用key來進行添加 2. setdefault()           ,      python

刪: pop()刪除最後一個     ,      del(切片刪除)     ,      clear(清空列表)        ,        popitems() 隨機刪除    ,    remove(指定元素刪除)  git

改: 用key改, 也能夠進行update  (把下面的更新到上面)              查: 用key查找.spa

items() 返回全部鍵值的元組表示形式.(解構)索引

1. dict字典
{}表示. 每次保存兩個數據 key:value, 鍵值對
{"大陽哥":"趙陽", "sylar":"邱彥濤","強強":"張強強"}
value: 任意的數據類型
key: 必須是可哈希的(不可變)ip


1. 增: 1.添加內容能夠直接使用key來進行添加 2. setdefault()rem

dic = {}
dic["jay"] = "王力宏" # {'jay': '王力宏'}
# # 若是key存在.執行的是修改操做. 若是key不存在. 執行的是新增
print(dic)
結果:{'jay': '王力宏'}

setdefault
dic = {}
dic.setdefault("李嘉誠")
dic.setdefault("李嘉誠", "房地產")
print(dic)
結果:{'李嘉誠': None}

 

 

 


2. 刪: pop()刪除最後一個或刪除指定位置      ,      del(切片刪除)     ,      clear(清空列表)        ,        popitems() 隨機刪除          get

remove(指定元素刪除)
dic = {'朱高熾':None, "朱元璋":"和尚", "諸葛亮":'不是個和尚'}
ret = dic.pop("朱元璋")
print (dic)
結果:{'朱高熾': None, '諸葛亮': '不是個和尚'}

dic = {'朱高熾':None, "朱元璋":"和尚", "諸葛亮":'不是個和尚'}
dic.clear()
print (dic)
結果:{}


dic = {'朱高熾':None, "朱元璋":"和尚", "諸葛亮":'不是個和尚'}
ret = dic.popitem() # 隨機刪.
print(ret)




#將oldboy對應的字典中的alex對應的列表中的python2刪除。
dic = {
'name':['alex',2,3,5],
'job':'teacher',
'oldboy':{'alex':['python1','python2',100]}
}

dic["oldboy"]['alex'].remove('python2')
print(dic)






 


3. 改: 用key改, 也能夠進行update  (把下面的更新到上面)   input

dic = {}
dic["jay"] = "王力宏" # {'jay': '王力宏'}
# # 若是key存在.執行的是修改操做. 若是key不存在. 執行的是新增
print(dic)
結果:{'jay': '王力宏'}

 

 

update: 把dic2更新到dic1, dic1中若是存在了dic2中的key.會修改(覆蓋), 若是不存在. 新增這個key:value
dic1.update(dic2)

   dic1 = {"name":'朱高熾','age':58, '朱祁鎮':18}it

dic2 = {"name":'朱由檢','年輕':18, '朱棣':55, '張無忌':'趙敏'}
# # update: 把dic2更新到dic1, dic1中若是存在了dic2中的key.會修改(覆蓋), 若是不存在. 新增這個key:value
dic1.update(dic2)
print(dic1)
結果:{'name': '朱由檢', 'age': 58, '朱祁鎮': 18, '年輕': 18, '朱棣': 55, '張無忌': '趙敏'}





 

 

 


4. 查: 用key查找.date

dic = {'朱祁鎮': 18, '朱棣': 55, '朱允炆':50}
print(dic.keys()) # dict_keys(['朱允炆', '朱祁鎮', '朱棣']) 把這個當成list來看就能夠了
for el in dic.keys():
print(el) # 拿到了key.就能夠拿value
print(dic.get(el)) # value
結果:

dict_keys(['朱祁鎮', '朱棣', '朱允炆'])
朱祁鎮
18
朱棣
55
朱允炆
50

經常使用操做:
1. keys()返回全部的key的列表

dic = {'朱祁鎮': 18, '朱棣': 55, '朱允炆':50}
print(dic.keys()) # dict_keys(['朱允炆', '朱祁鎮', '朱棣']) 把這個當成list來看就能夠了
結果;dict_keys(['朱祁鎮', '朱棣', '朱允炆'])


2. values()返回全部的value的列表

dic = {'朱祁鎮': 18, '朱棣': 55, '朱允炆':50}
print(dic.values())
結果:dict_values([18, 55, 50])


解構
dic={"成龍":"洪金寶"}
k,v = dic.popitem() # dic.popitem()的結果是一個元組. 元組能夠直接解構成兩個值
print(k)
print(v)
結果:成龍
洪金寶



get
dic.get('get')
若是key不存在,返回None,存在就返回value.
能夠給一個默認值,當key不存在就返回默認值
能夠用來判斷字典中有沒有我要的key




3. items() 返回全部鍵值的元組表示形式.(解構)

dic = {'朱祁鎮': 18, '朱棣': 55, '朱允炆':50}
print(dic.items())
# # 從dic中獲取到list列表. 列表中每一項都是一個元組(key,value) 經過解構能夠直接把key和value獲取到
for k,v in dic.items():
print(k)
print(v)
結果:dict_items([('朱祁鎮', 18), ('朱棣', 55), ('朱允炆', 50)])
朱祁鎮
18
朱棣
55
朱允炆
50






dic={"成龍":"洪金寶"}
k,v = dic.popitem() # dic.popitem()的結果是一個元組. 元組能夠直接解構成兩個值
print(k)
print(v)
結果:成龍
洪金寶

 

 

做業題:

1:頁面顯示 序號 + 商品名稱 + 商品價格,如:
1 電腦 1999
2 鼠標 10

 

2:用戶輸入選擇的商品序號,而後打印商品名稱及商品價格
3:若是用戶輸入的商品序號有誤,則提示輸入有誤,並從新輸入。
4:用戶輸入Q或者q,退出程序。

goods = [{"name": "電腦", "price": 1999},         {"name": "鼠標", "price": 10},         {"name": "遊艇", "price": 20},         {"name": "美女", "price": 998},         {"name": "娃娃", "price": 336},]for product in goods: # 1    print(goods.index(product) + 1, product['name'], str(product['price']))while 1: # 3    num = input("請輸入你想買的東西>>>:").strip()    # 2    # 判斷輸入的是否是q,q退出    if num.upper() == 'Q': # 4        break    # 判斷輸入的是否合法    if num.isdigit() and int(num) >=1 and int(num) <= len(goods): # 2        num = int(num) - 1 # 恢復回索引        print(goods[num]['name'], goods[num]['price'])        break    else:        print("警告一下. 不準胡亂輸入, 請從新輸入")
相關文章
相關標籤/搜索