亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python數(shù)據(jù)類型 — 字典

系統(tǒng) 1748 0

字典是 python 中唯一的映射類型,采用 鍵值對(duì)( key-value )的形式存儲(chǔ)數(shù)據(jù)。 python 對(duì) key 進(jìn)行哈希函數(shù)運(yùn)算,根據(jù)計(jì)算的結(jié)果決定 value 的存儲(chǔ)地址,所以字典是無(wú)序存儲(chǔ)的,且 key 必須是可哈希的。 可哈希表示 key 必須是不可變類型,如:數(shù)字、字符串、元組。

特性:無(wú)順序、去重、查詢速度快,比列表快多了、比list占用內(nèi)存多

字典 = { key: value }

創(chuàng)建

            
              1,	使用”{}”創(chuàng)建:
dd = {'a': 'aaa', 'b': 'bbb'}
2,使用dict創(chuàng)建:
li = [('aa', 'aaa'),('bb', 'bbb')]
dd = dict(li)
print(dd)  # 輸出{'aa': 'aaa', 'bb': 'bbb'}

dd = dict(aa='aaa', bb='bbb')
print(dd)  # {'aa': 'aaa', 'bb': 'bbb'}
            
          

            
              info["stu04"] = "Dd"  # 直接增加;
print(info)

update用于合并兩個(gè)字典:字典1.update(字典2)
            
          

            
              del info["stu01"]  # info.pop("stu01")
info.popitem()  # 隨機(jī)刪除

字典名.pop(‘鍵’)

字典名.clear()  # 清楚所有元素;
            
          

            
              dic = {"name":"jin","age":18,"sex":"male"}
dic2 = {"name":"alex","weight":75}
dic2.update(dic)  # 將dic所有的鍵值對(duì)覆蓋添加(相同的覆蓋,沒有的添加)到dic2中
print(dic2)

dict1["stu04"]="馬六"    #類似增加,如果key值存在,則就修改
            
          

查詢、獲取

            
              print(info.get("stu07"))  # 有該鍵則返回,無(wú)該鍵則返回None。
print('stu02' in info)  # 判斷是否在該字典中;

dd = {'a': 'aaa', 'b': 'bbb', 'c': 'ccc'}
print(dd)
print('aa' in dd)  # 判斷鍵是否在字典中,這里放回False;

print(dd.keys())  # 獲取所有鍵,用一個(gè)列表包裝;
print(dd.values())  # 獲取所有值,用一個(gè)列表包裝;

all_items = dd.items()  # 獲取字典的所有鍵值對(duì),鍵值對(duì)用元組包裝,多個(gè)鍵值對(duì)存放于列表中;
print(all_items)  //輸出dict_items([('a', 'aaa'), ('b', 'bbb'), ('c', 'ccc')])

print(('a', 'aaa') in all_items)  # 判斷是否包含鍵值對(duì),這里返回True;
print(list(all_items))  # 將鍵值對(duì)轉(zhuǎn)換成列表


for i in all_items:  # 本質(zhì)上是在遍歷列表;
    print(i)

print(list(dict1))   #這種只能看到key
            
          

多級(jí)字典

            
              travel_catlog = {
    "east_China": {
        "hangzhou":["西湖旅游勝地", "5A"],
        "shanghai":["夢(mèng)的創(chuàng)造地","5A"],
    },
    "west_China": {
        "dali":["溫文爾雅","3A"],
        "chengdu":["天府之國(guó)","4A"]
    },
    "north_China": {
        "beijing":["中國(guó)之最","5A"],
        "tianjin":["想象之地","5A"]
    },
    "sourth_China":{
        "hainan":["熱帶雨林水果之地","4A"],
        "shenzheng":["科技之源","5A"]
    },
}
print(travel_catlog["sourth_China"]["hainan"])  # 輸出該鍵的值:['熱帶雨林水果之地', '4A']

print(travel_catlog.values())  # 輸出第一層字典的所有值
print(travel_catlog.keys())  # 輸出第一層字典的所有鍵

print(travel_catlog.setdefault("sourth_China","hahahahah"))  # 以鍵去字典里去找,如果找到則返回其鍵和值;如果沒有找到鍵,則按照代碼在該字典去創(chuàng)建一個(gè)記錄;
                                # 在字典中找到了,則顯示為:{'hainan': ['熱帶雨林水果之地', '4A'], 'shenzheng': ['科技之源', '5A']}
travel_catlog.setdefault("China","hahahahah")
                                # 在字典中沒有找到,則將其為字典添加為一個(gè)新的記錄;
print(travel_catlog)
            
          
            
              # 判斷是否是字典的實(shí)例對(duì)象
d = {'a':'aaa','b':'bbb','c':'cccc'}
print(isinstance(d,dict))  # 輸出True
            
          

字典合并

            
              a = {
    's01':'Aa',
    's02':'Bb',
    's03':'Cc',
}
b = {
    's02':'Bbbbb',
    's04':'Dd',
}
a.update(b)  # 把b合并于a,如果有重復(fù)的,把參數(shù)里的記錄覆蓋掉原來(lái)的;
print(a)
            
          
            
              格式化生成字典
c = dict.fromkeys([1,2,3],['testd','hha','nihao'])  # 格式化一個(gè)字典;參數(shù):key,value,
    # 每個(gè)key對(duì)應(yīng)的value都是一樣的,因?yàn)閷?duì)于每個(gè)key都是被value賦值
print(c)
            
          

字典循環(huán)、迭代

            
              for key in a:
    print(key,a[key])

for key,value in a.items():  # 先把dict轉(zhuǎn)成list;數(shù)據(jù)較大時(shí)莫用
    print(key,value)

#只循環(huán)key
for i in dict1.keys():
    print(i)

#只循環(huán)value
for i in dict1.values():
    print(i)
            
          

字典生成式

語(yǔ)法: { 表達(dá)式 for 迭代變量 in 可迭代對(duì)象 [if 條件表達(dá)式] }

            
              # 【例 1】
listdemo = ['C語(yǔ)言中文網(wǎng)','c.biancheng.net']
#將列表中各字符串值為鍵,各字符串的長(zhǎng)度為值,組成鍵值對(duì)
newdict = {key:len(key) for key in listdemo}
print(newdict)
# 運(yùn)行結(jié)果為:
# {'C語(yǔ)言中文網(wǎng)': 6, 'c.biancheng.net': 15}


#【例 2】交換現(xiàn)有字典中各鍵值對(duì)的鍵和值。
olddict={'C語(yǔ)言中文網(wǎng)': 6, 'c.biancheng.net': 15}
newdict = {v: k for k, v in olddict.items()}
print(newdict)
# 運(yùn)行結(jié)果為:
# {6: 'C語(yǔ)言中文網(wǎng)', 15: 'c.biancheng.net'}


#【例 3】使用 if 表達(dá)式篩選符合條件的鍵值對(duì)。
olddict={'C語(yǔ)言中文網(wǎng)': 6, 'c.biancheng.net': 15}
newdict = {v: k for k, v in olddict.items() if v>10}
print(newdict)
# 運(yùn)行結(jié)果為:
# {15: 'c.biancheng.net'}

            
          

?


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 日韩精品中文字幕在线观看 | 欧美日韩在大午夜爽爽影院 | 日韩久久精品 | 国产女人成人精品视频 | 欧美成人免费一级人片 | 九九精品视频在线观看九九 | 中文字幕亚洲精品久久 | 久久精品免费大片国产大片 | 99久久免费视频在线观看 | 在线免费观看一区二区三区 | 久久新地址 | 国产免费久久 | 国产成人精品日本亚洲专一区 | 狠狠躁夜夜躁人人爽天天不 | 色综合久久久高清综合久久久 | 欧美国产成人精品一区二区三区 | 天天爽视频 | 中文日韩欧美 | 久久金8天国 | 理论片毛片 | 九九精品国产兔费观看久久 | 国产中文字幕在线免费观看 | 91最新在线观看 | 一 级 黄 色蝶 片 | 久久我们这里只有精品国产4 | 亚洲精品69 | 久久久美女视频 | 欧美性xxxxxx性 | 久久国产亚洲欧美日韩精品 | 97精品国产自在现线免费 | 亚洲综合色婷婷中文字幕 | 久久成人国产精品青青 | 久久夜夜视频 | 特级全黄一级毛片免费 | 狠狠色丁香久久婷婷综 | 97超级碰碰碰碰精品 | 5060午夜一级毛片免费观看 | 久久久免费| 特级毛片s级全部免费 | 日日噜噜夜夜狠狠久久丁香 | 伊人久热这里只精品视频 |