国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Python全棧之路系列之字典數(shù)據(jù)類型

caoym / 2758人閱讀

摘要:字典在基本的數(shù)據(jù)類型中使用頻率也是相當(dāng)高的,而且它的訪問方式是通過鍵來獲取到對應(yīng)的值,當(dāng)然存儲的方式也是鍵值對了,屬于可變類型。

字典(dict)在基本的數(shù)據(jù)類型中使用頻率也是相當(dāng)高的,而且它的訪問方式是通過鍵來獲取到對應(yīng)的值,當(dāng)然存儲的方式也是鍵值對了,屬于可變類型。

創(chuàng)建字典的兩種方式

第一種

>>> dic = {"k1":"123","k2":"456"}
>>> dic
{"k1": "123", "k2": "456"}
>>> type(dic)

第二種

>>> dic = dict({"k1":"123","k2":"456"})
>>> dic
{"k1": "123", "k2": "456"}
>>> type(dic)

在創(chuàng)建字典的時候,__init__初始化的時候還可以接受一個可迭代的變量作為值

>>> li = ["a","b","c"]
>>> dic = dict(enumerate(li))
>>> dic
{0: "a", 1: "b", 2: "c"}

默認(rèn)dict再添加元素的時候會把li列表中的元素for循環(huán)一邊,添加的時候列表中的內(nèi)容是字典的值,而鍵默認(rèn)是沒有的,可以通過enumerate方法給他加一個序列,也就是鍵。

與其變量不同的是,字典的鍵不僅僅支持字符串,而且還支持其他數(shù)據(jù)類型,譬如:

# 數(shù)字
>>> D = {1:3}
>>> D[1]
3
# 元組
>>> D = {(1,2,3):3}
>>> D[(1,2,3)]
3

字典解析

>>> D = {x: x*2 for x in range(10)}
>>> D
{0: 0, 1: 2, 2: 4, 3: 6, 4: 8, 5: 10, 6: 12, 7: 14, 8: 16, 9: 18}
# 可以使用zip
>>> D = {k:v for (k, v) in zip(["a","b","c"],[1,2,3])}
>>> D
{"a": 1, "c": 3, "b": 2}
字典所提供的常用方法

刪除字典中的所有元素

clear(self):

>>> person = dict({"name": "ansheng", "age": 18})
>>> person
{"age": 18, "name": "ansheng"}
>>> person.clear()
# 清空字典的內(nèi)容之后字典會變成一個空字典
>>> person
{}

返回一個字典的淺復(fù)制

copy(self):

>>> person = dict({"name": "ansheng", "age": 18})
>>> person.copy()
{"age": 18, "name": "ansheng"}

創(chuàng)建一個新字典,以序列seq中元素做字典的鍵,value為字典所有鍵對應(yīng)的初始值

fromkeys(S, v=None):

屬性 描述
S 字典鍵值列表
v 可選參數(shù), 設(shè)置鍵序列(seq)的值
>>> seq = ("name", "age", "sex")
>>> dict = dict.fromkeys(seq)
>>> dict
{"age": None, "name": None, "sex": None}

fromkeys方法就是把一個字典的key更新到另外一個字典中,默認(rèn)的值可以設(shè)置

>>> dic={"k1":123,"k2":456,"k4":111}
>>> dic
{"k1": 123, "k4": 111, "k2": 456}
# 創(chuàng)建一個新的字典,默認(rèn)值是`123`
>>> dic.fromkeys(["k1","k2","k3"],"123")
{"k1": "123", "k3": "123", "k2": "123"}

返回指定鍵的值,如果值不在字典中返回默認(rèn)值

get(self, k, d=None):

屬性 描述
key 字典中要查找的鍵
default 如果指定鍵的值不存在時,返回該默認(rèn)值值
>>> person = {"name": "ansheng", "age": 18}
>>> person.get("name")
"ansheng"

成員運算符in可以判斷鍵是否存在于字典中,如果鍵在字典dict里返回true,否則返回false

>>> person = {"name": "mr", "age": 18}
>>> "name" in person
True
>>> "aname" in person
False

以列表返回可遍歷的(鍵, 值)元組數(shù)組

items(self):

>>> person = {"name": "mr.wu", "age": 18}
# 以元組的方式輸出出來
>>> person.items()
[("age", 18), ("name", "mr.wu")]

以迭代器的方式返回字典的鍵和值

iteritems(self):

>>> person.iteritems()

迭代key

iterkeys(self):

>>> person = {"name": "ansheng", "age": 18}
>>> person.iterkeys()

迭代value

itervalues(self):

>>> person = {"name": "ansheng", "age": 18}
>>> person.itervalues()

以列表的形式返回一個字典所有的鍵

keys(self):

>>> person = {"name": "ansheng", "age": 18}
>>> person.keys()
["age", "name"]

刪除指定給定鍵所對應(yīng)的值,返回這個值并從字典中把它移除

pop(self, k, d=None):

>>> person = {"name": "ansheng", "age": 18}
>>> person
{"age": 18, "name": "ansheng"}
# 返回刪除鍵對應(yīng)的值
>>> person.pop("age")
18
>>> person
{"name": "ansheng"}

隨機返回并刪除字典中的一對鍵和值,因為字典是無序的,沒有所謂的"最后一項"或是其它順序。

popitem(self):

>>> person = {"name": "ansheng", "age": 18}
# 隨即刪除并顯示所刪除的鍵和值
>>> person.popitem()
("age", 18)
>>> person
{"name": "ansheng"}

如果key不存在,則創(chuàng)建,如果存在,則返回已存在的值且不修改

setdefault(self, k, d=None):

屬性 描述
key 查找的鍵值
default 鍵不存在時,設(shè)置的默認(rèn)鍵值
>>> person = {"name": "ansheng", "age": 18}
# 如果字典中有這個鍵,那么就輸出這個鍵的值
>>> person.setdefault("name")
"ansheng"
# 如果沒有則不輸出,但是會創(chuàng)建一個鍵,值為默認(rèn)的"None",值是可以指定的
>>> person.setdefault("sex")
>>> person
{"age": 18, "name": "ansheng", "sex": None}

把字典dic2的鍵/值對更新到dic1里

update(self, E=None, **F):

>>> dic1 = {"name":"ansheng"}
>>> dic2 = {"age":"18"}
>>> dic1
{"name": "ansheng"}
>>> dic2
{"age": "18"}
>>> dic1.update(dic2)
>>> dic1
{"age": "18", "name": "ansheng"}

顯示字典中所有的值

values(self):

>>> person = {"name": "ansheng", "age": 18}
>>> person.values()
[18, "ansheng"]

所有項,只是將內(nèi)容保存至view對象中

viewitems(self):

>>> person = {"name": "ansheng", "age": 18}
>>> person.viewitems()
dict_items([("age", 18), ("name", "ansheng")])

viewkeys(self):

>>> person = {"name": "ansheng", "age": 18}
>>> person.viewkeys()
dict_keys(["age", "name"])

viewvalues(self):

>>> person = {"name": "ansheng", "age": 18}
>>> person.viewvalues()
dict_values([18, "ansheng"])

對字典的鍵進(jìn)行排序,其原理就是把key轉(zhuǎn)換為列表,然后使用sort對列表排序,最后根據(jù)列表循環(huán)字典中的值

>>> D = {"a":1,"b":2,"c":3}
>>> D
{"a": 1, "c": 3, "b": 2}
>>> Ks = list(D.keys())
>>> Ks
["a", "c", "b"]
>>> Ks.sort()
>>> Ks
["a", "b", "c"]
>>> for k in Ks: print(k, D[k])
... 
a 1
b 2
c 3

原文鏈接

Python全棧之路系列文章

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/38336.html

相關(guān)文章

  • Python全棧系列列表數(shù)據(jù)類型

    摘要:列表同字符串一樣都是有序的,因為他們都可以通過切片和索引進(jìn)行數(shù)據(jù)訪問,且列表的的是可變的。 列表(list)同字符串一樣都是有序的,因為他們都可以通過切片和索引進(jìn)行數(shù)據(jù)訪問,且列表的的是可變的。 創(chuàng)建列表的幾種方法 第一種 name_list = [Python, PHP, JAVA] 第二種 name_list = list([Python, PHP, JAVA]) 創(chuàng)建一個空列表 ...

    ?。琛?/span> 評論0 收藏0
  • Python全棧系列字符串格式化

    摘要:目前提供的字符串格式化方式有兩種百分號方式方式這兩種方式在和中都適用,百分號方式是一直內(nèi)置存在的,方式為近期才出來的。 This PEP proposes a new system for built-in string formatting operations, intended as a replacement for the existing % string formatti...

    avwu 評論0 收藏0
  • Python全棧系列元組數(shù)據(jù)類型

    摘要:元組和列表的為唯一區(qū)別就是列表可以更改,元組不可以更改,其他功能與列表一樣創(chuàng)建元組的兩種方法第一種第二種如果元祖內(nèi)只有一個元素,那么需要加上一個逗號,否則就變成字符串了。 元組(tuple)和列表的為唯一區(qū)別就是列表可以更改,元組不可以更改,其他功能與列表一樣 創(chuàng)建元組的兩種方法 第一種 ages = (11, 22, 33, 44, 55) 第二種 ages = tuple((11,...

    李濤 評論0 收藏0
  • Python全棧系列函數(shù)

    摘要:指定參數(shù)即在用戶調(diào)用函數(shù)的時候不需要按照函數(shù)中參數(shù)的位置中所填寫,指定參數(shù)是需要制定參數(shù)對應(yīng)的值。默認(rèn)參數(shù)可以寫在定義參數(shù)的后面,如果用戶調(diào)用函數(shù)是沒有制定參數(shù),那么就會用默認(rèn)參數(shù),如果用戶指定了參數(shù),那么用戶指定的參數(shù)就會代替默認(rèn)參數(shù)。 函數(shù) 函數(shù)是Python為了代碼最大程度的重用和最小化代碼冗余而提供的最基本的程序結(jié)構(gòu)。 函數(shù)式:將某功能代碼封裝到函數(shù)中,日后便無需重復(fù)編寫,僅...

    guyan0319 評論0 收藏0
  • Python全棧系列數(shù)字數(shù)據(jù)類型

    摘要:數(shù)字在中,整型長整型浮點數(shù)負(fù)數(shù)布爾值等都可以稱之為數(shù)字類型。數(shù)字類型的復(fù)雜度整數(shù)比浮點數(shù)簡單浮點數(shù)比復(fù)數(shù)簡單。布爾類型布爾類型其實就是數(shù)字和的變種而來,即真或假,實際上就是內(nèi)置的數(shù)字類型的子類而已。 上篇文章中我們簡單的體驗了Python語言基本概念與語法,那么在繼續(xù)深入下去的過程中,不妨先學(xué)習(xí)幾個常見的Python內(nèi)置數(shù)據(jù)類型?這也是大部分Python教科書的學(xué)習(xí)目錄,由淺至深,慢慢...

    Developer 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<