久久久精品2019免费观看_亚洲国产精品成人久久久_69国产成人综合久久精品91_国产精品久久精品视

Python 字典類型1

接下去我們學(xué)習(xí)字典類型。

字典我們前面說(shuō)過(guò),它的定義方法是在中括號(hào)內(nèi),用逗號(hào)分割開(kāi)多個(gè)任意類型的值,這里要注意,只是它的值,也就是value可以存任意類型,但是它的key只能是不可變類型。

既然key必須是不可變類型,就說(shuō)明我們不單單可以用字符串來(lái)做字典的key,也可以用整型和浮點(diǎn)型,甚至可以用元組來(lái)做字典的key。

因?yàn)檎?,浮點(diǎn)型以及元組都是不可變類型嘛。

dic = {'aaa': 1, 2: 2, 3.2: 4, (7, 8, 9): 10}

這就是造字典的第一種方式,也是我們最常用的方式,直接用大括號(hào)來(lái)定義。

然后我們來(lái)看,我們定義字典的時(shí)候它背后到底觸發(fā)了什么功能?

還是老規(guī)矩,打印一下它的類型。

dic = {'aaa': 1, 2: 2, 3.2: 4, (7, 8, 9): 10}
print(dic, type(dic))

結(jié)果是dict,那就說(shuō)明它背后其實(shí)調(diào)用了,dict加括號(hào)這個(gè)功能。

然后我們也可以自己調(diào)用這個(gè)dict加括號(hào)功能,然后傳大括號(hào)進(jìn)去。

print(dict({'a': 1, 'b': 2}))

這樣也是可以的。

這是造字典的第二種方式,除了傳大括號(hào)這種格式進(jìn)去,我們還可以這樣傳。傳什么等于什么這種格式,也可以造出字典來(lái)。造出來(lái)的結(jié)果就是,變量名會(huì)變成key,變量的只會(huì)變成字典的value。

print(dict(a=1, b=2, c=3))

這就是造字典的第三種方式,然后我們來(lái)看造字典的第四種方式。

比如我現(xiàn)在有一個(gè)列表。

keys = ['name', 'gander', 'age'] 

我現(xiàn)在的需求是把這個(gè)字典里的每一個(gè)元素取出來(lái),當(dāng)成是字典的key,然后他們的value就先定義成None。相當(dāng)于的我們要初始化一個(gè)字典,讓這三個(gè)key的值,一開(kāi)始都默認(rèn)為None。

如果用我們已經(jīng)掌握的知識(shí)來(lái)實(shí)現(xiàn)這個(gè)需求的話,我們是不是就只能用for循環(huán)來(lái)做?

keys = ['name', 'gander', 'age']   
for key in keys:
    dic[key] = None
print(dic)

這樣這個(gè)字典就造出來(lái)了,三個(gè)key的value都為None,但是這樣太繁瑣了,要三行代碼才能實(shí)現(xiàn),我們來(lái)看一種更加簡(jiǎn)單的方法。

先定義一個(gè)空字典,接著在空字典后面點(diǎn)formkeys,然后把前面的keys傳進(jìn)去,接著穿第二個(gè)參數(shù),你想讓key的值都等于什么,就傳什么進(jìn)去,我現(xiàn)在想讓他們的值都等于None,就傳None進(jìn)去,這樣我們就得到了一個(gè)新字典了,把它賦值給變量a,打印一下a。

keys = ['name', 'gander', 'age']   
a = {}.fromkeys(keys, None)
print(a)

這樣三行代碼就實(shí)現(xiàn)了剛才的需求。

未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » Python 字典類型1

贊 (0) 打賞

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

微信掃一掃打賞