python字典{}
1.dict 字典
{}表示,每次保存兩個數(shù)據(jù), ?? key:value, 鍵值對
{"大陽哥":"趙陽", "sylar":"邱彥濤","強強":"張強強"}
語法就是:
{key1:value1,key2:vqlue2....}
value: 任意的數(shù)據(jù)類型
key: 必須是可哈希的(不可變)
一直到的可哈希(不可變)的數(shù)據(jù)類型 :int,str,tuple,bool
不可哈希(可變)的數(shù)據(jù)類型 :list,dict,set
? 字典不能切片
注意: key必須是不可變(可哈希)的. value沒有要求.可以保存任意類型的數(shù)據(jù)
# 合法 dic = {123: 456, True: 999, "id": 1, "name": 'sylar', "age": 18, "stu": ['帥哥', '美女'], (1, 2, 3): '麻花藤'} print(dic[123]) print(dic[True]) print(dic['id']) print(dic['stu']) print(dic[(1, 2, 3)]) # 不合法 # dic = {[1, 2, 3]: '周杰倫'} # list是可變的. 不能作為key # dic = {{1: 2}: "哈哈哈"} # dict是可變的. 不能作為key dic = {{1, 2, 3}: '呵呵呵'} # set是可變的, 不能作為key2.字典增刪改查
?? 1,增加
? ? dic = {}
?? dic['jay']='周杰倫'
?? dic['jay]='王力宏'
?# 如果key存在執(zhí)行修改操作,如果key不存在,執(zhí)行的是新增.
dic.setdefault('王小二','彈溜溜') print(dic) #如果key存在,新增{'王小二','彈溜溜'} dic.setdefault('王小二','上片機') #如果存在key,不執(zhí)行操作結(jié)果是 {'王小二','彈溜溜'}?
dic = {} dic['name'] = '周潤發(fā)' # 如果dict中沒有出現(xiàn)這個key, 就會新增一個key-value的組合進dict dic['age'] = 18 print(dic) # 如果dict中沒有出現(xiàn)過這個key-value. 可以通過setdefault設(shè)置默認值 dic.setdefault('李嘉誠') # 也可以往里面設(shè)置值. dic.setdefault("李嘉誠", "房地產(chǎn)") # 如果dict中已經(jīng)存在了. 那么setdefault將不會起作用 print(dic)?? 2.刪除
ret = dic.pop("jay") print(ret)#缺點沒有返回 del dic["jay"] print(dic) # 隨機刪除. ()的結(jié)果是一個元組,元組可以直接結(jié)構(gòu)成兩個. ret = dic.popitem()
#解構(gòu)
a,b=(1,6)
print(a) #1
print(b) #6
a,b=[1,3]
print(a) #1
print(b) #3
e, f = [1, 2, 3]??? # 解構(gòu)的時候注意數(shù)量必須匹配
print(e, f)
# 清空字典中的所有內(nèi)容 dic.clear()
3.修改
? ?? update
dic1中如果存在了dic2中的key 會修改(覆蓋)如果不存在,則新增
? ? dic1={}
? ? dic2={}
? dic1.update(dic2)
dic = {"id": 123, "name": 'sylar', "age": 18} dic1 = {"id": 456, "name": "麻花藤", "ok": "wtf"} dic.update(dic1) # 把dic1中的內(nèi)容更新到dic中. 如果key重名. 則修改替換. 如果不存在key, 則新增. print(dic) print(dic1)?4.查詢
?查詢一般用key來查找具體的數(shù)據(jù).
dic.get(key,default)
print(dic['name']) # print(dic['sylar']) # 報錯 print(dic.get("ok")) print(dic.get("sylar")) # None print(dic.get("sylar", "牛B")) # 牛B?
5.其他相關(guān)操作
dic = {"id": 123, "name": 'sylar', "age": 18, "ok": "科比"} print(dic.keys()) # dict_keys(['id', 'name', 'age', 'ok']) 不用管它是什么.當成list來用就行 for key in dic.keys():print(key)print(dic.values()) # dict_values([123, 'sylar', 18, '科比']) 一樣. 也當list來用 for value in dic.values():print(value)print(dic.items()) # dict_items([('id', 123), ('name', 'sylar'), ('age', 18), ('ok', '科比')]) 這個東西也是list. 只不過list中裝的是tuple for key, value in dic.items(): # ?? 這個是解構(gòu)print(key, value)? 6.字典的嵌套
dic1 = {
??? "name": "汪峰",
??? "age": 46,
? ? "wife":{
? ? ? ?? "name":'章子怡'
? ? ? ?? "age":43
??? },
? ?? "children":[
? ? ? ? ? ? ? {'name':'小叮當','age':10}
????????? ? ? {'name':'大叮當','age':16}
? ?? ]
? # 汪峰的第二個兒子的年齡
print(dic1.get('children')[1].get('age'))
print(dic1.get('wife').get('name'))
print(dic1.get('name'))
?
轉(zhuǎn)載于:https://www.cnblogs.com/liuafan/p/9139604.html
總結(jié)
以上是生活随笔為你收集整理的python字典{}的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 5G技术即将到来,5G网络的基本特点和应
- 下一篇: Java程序CPU飙升排查,找出死循环代