python基礎(chǔ)類型&常用內(nèi)置庫:dict(字段),set(集合),collections,functools

  • Dict(字典)
  • Set(集合)
  • collections(內(nèi)置庫)
  • functools(內(nèi)置庫)

Dict(字典)

  • 字典視為一組無序的鍵值對,并要求鍵是唯一的(在一個字典中)骂束。一對大括號創(chuàng)建一個空字典:{}拜姿。在括號內(nèi)放置以逗號分隔的鍵值對列表,將初始鍵值對添加到字典中;這也是字典在輸出上的寫法节仿。

  • 字典上的主要操作是使用某個鍵存儲值并提取給定鍵的值丧裁。也可以刪除帶有del的鍵值對。

  • 字典對象的keys()方法以任意順序返回字典中使用的所有鍵的列表(如果要對其進(jìn)行排序巧号,只需對其應(yīng)用sorted()函數(shù).要檢查單個鍵是否在字典中族奢,請使用in關(guān)鍵字。

1.

屏幕快照 2019-03-29 下午2.20.20的副本 2.png

2.

屏幕快照 2019-03-29 下午2.42.38.png

3. 字典常用方法
屏幕快照 2019-03-29 下午8.00.26.png

4. items()和iteritems()區(qū)別:

  • 字典的items()作用:是可以將字典中的所有項(xiàng)丹鸿,以列表方式返回越走。因?yàn)樽值涫菬o序的,所以用items方法返回字典的所有項(xiàng)靠欢,也是沒有順序的.

  • 字典的iteritems()作用:與items方法相比作用大致相同弥姻,只是它的返回值不是列表,而是一個迭代器掺涛。

  • 迭代器: 可以被next()函數(shù)調(diào)用并不斷返回下一個值的對象稱為迭代器:Iterator;

    • list疼进、dict薪缆、str雖然是Iterable,卻不是Iterator。 為什么list拣帽、dict疼电、str等數(shù)據(jù)類型不是Iterator?這是因?yàn)镻ython的Iterator對象表示的是一個數(shù)據(jù)流减拭,Iterator對象可以被next()函數(shù)調(diào)用并不斷返回下一個數(shù)據(jù)蔽豺,直到?jīng)]有數(shù)據(jù)時拋出StopIteration錯誤∨》啵可以把這個數(shù)據(jù)流看做是一個有序序列修陡,但我們卻不能提前知道序列的長度,只能不斷通過next()函數(shù)實(shí)現(xiàn)按需計(jì)算下一個數(shù)據(jù)可霎,所以Iterator的計(jì)算是惰性的魄鸦,只有在需要返回下一個數(shù)據(jù)時它才會計(jì)算。
    • Iterator甚至可以表示一個無限大的數(shù)據(jù)流癣朗,例如全體自然數(shù)拾因。而使用list是永遠(yuǎn)不可能存儲全體自然數(shù)的。*
  • 總結(jié)

    • iteritems()方法在需要迭代結(jié)果的時候使用最適合旷余,而且它的工作效率非常的高绢记。
    • 在Python2.x中,iteritems() 用于返回本身字典列表操作后的迭代器【Returns an iterator on all items(key/value pairs) 】正卧,不占用額外的內(nèi)存蠢熄。
    • 在Python 3.x 里面,iteritems()方法已經(jīng)廢除了穗酥。在3.x里用 items()替換iteritems() 护赊,可以用于 for 來循環(huán)遍歷。

Set(集合)

  • 集合對象是一組無序排列的可哈希的值,集合成員可以做字段中的鍵,集合支持用in和 not in操作符檢查成員,有l(wèi)en()得到集合的大小,用for循環(huán)迭代集合的成員,記住:集合是無序的.
  • 集合有兩種不同的類型, 可變集合(set)和不可變集合(frozenset)

1.
屏幕快照 2019-03-29 下午8.11.02.png

2.

屏幕快照 2019-03-29 下午8.12.57.png

3.

屏幕快照 2019-03-29 下午8.14.44.png

collections

  • 該模塊實(shí)現(xiàn)了專門的容器數(shù)據(jù)類型砾跃,提供了Python的通用內(nèi)置容器骏啰,dict,list抽高,set和tuple的替代方法判耕。

  • collections內(nèi)置容器


    屏幕快照 2019-03-29 下午8.42.40.png

1. namedtuple

  • namedtuple是一個函數(shù),它用來創(chuàng)建一個自定義的tuple對象翘骂,并且規(guī)定了tuple元素的個數(shù)壁熄,并可以用屬性而不是索引來引用tuple的某個元素。這樣一來碳竟,我們用namedtuple可以很方便地定義一種數(shù)據(jù)類型草丧,它具備tuple的不變性,又可以根據(jù)屬性來引用莹桅,使用十分方便
  • 例子


    屏幕快照 2019-03-29 下午8.47.43.png

2.deque

  • 使用list存儲數(shù)據(jù)時昌执,按索引訪問元素很快,但是插入和刪除元素就很慢了,因?yàn)閘ist是線性存儲懂拾,數(shù)據(jù)量大的時候煤禽,插入和刪除效率很低。deque是為了高效實(shí)現(xiàn)插入和刪除操作的雙向列表岖赋,適合用于隊(duì)列和棧;
  • deque除了實(shí)現(xiàn)list的append()和pop()外檬果,還支持appendleft()和popleft(),這樣就可以非常高效地往頭部添加或刪除元素唐断。
  • 例子


    屏幕快照 2019-03-29 下午8.47.43.png

3.defaultdict

  • 返回一個新的類字典對象选脊。 defaultdict是內(nèi)置dict類的子類。它會覆蓋一個方法并添加一個可寫實(shí)例變量.其余功能與dict類相同
屏幕快照 2019-03-29 下午9.52.58.png
屏幕快照 2019-03-29 下午9.59.02.png
屏幕快照 2019-03-29 下午10.01.30.png

4.OrderedDict

  • 有序詞典就像常規(guī)詞典一樣栗涂,但它們記住了項(xiàng)目的插入順序知牌。迭代有序字典時,將按照首次添加鍵的順序返回項(xiàng)目斤程。


    屏幕快照 2019-03-29 下午10.12.40.png

functools

  • functools模塊用于高階函數(shù):作用于或返回其他函數(shù)的函數(shù)角寸。通常,任何可調(diào)用對象都可以被視為用于此模塊的功能忿墅。

1. wraps

  • Python裝飾器(decorator)在實(shí)現(xiàn)的時候扁藕,被裝飾后的函數(shù)其實(shí)已經(jīng)是另外一個函數(shù)了(函數(shù)名等函數(shù)屬性會發(fā)生改變),為了不影響疚脐,Python的functools包中提供了一個叫wraps的decorator來消除這樣的副作用亿柑。寫一個decorator的時候,最好在實(shí)現(xiàn)之前加上functools的wrap棍弄,它能保留原有函數(shù)的名稱和docstring望薄。
屏幕快照 2019-04-11 下午2.12.59.png
屏幕快照 2019-04-11 下午2.13.28.png
屏幕快照 2019-04-11 下午2.14.17.png
屏幕快照 2019-04-15 下午2.03.12.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市呼畸,隨后出現(xiàn)的幾起案子痕支,更是在濱河造成了極大的恐慌,老刑警劉巖蛮原,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件卧须,死亡現(xiàn)場離奇詭異,居然都是意外死亡儒陨,警方通過查閱死者的電腦和手機(jī)花嘶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蹦漠,“玉大人椭员,你說我怎么就攤上這事〉言埃” “怎么了拆撼?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵容劳,是天一觀的道長。 經(jīng)常有香客問我闸度,道長,這世上最難降的妖魔是什么蚜印? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任莺禁,我火速辦了婚禮,結(jié)果婚禮上窄赋,老公的妹妹穿的比我還像新娘哟冬。我一直安慰自己,他們只是感情好忆绰,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布浩峡。 她就那樣靜靜地躺著,像睡著了一般错敢。 火紅的嫁衣襯著肌膚如雪翰灾。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天稚茅,我揣著相機(jī)與錄音纸淮,去河邊找鬼。 笑死亚享,一個胖子當(dāng)著我的面吹牛咽块,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播欺税,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼侈沪,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了晚凿?” 一聲冷哼從身側(cè)響起亭罪,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎晃虫,沒想到半個月后皆撩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡哲银,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年扛吞,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片荆责。...
    茶點(diǎn)故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡滥比,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出做院,到底是詐尸還是另有隱情盲泛,我是刑警寧澤濒持,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站寺滚,受9級特大地震影響柑营,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜村视,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一官套、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蚁孔,春花似錦奶赔、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至鼻百,卻和暖如春绞旅,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背愕宋。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工玻靡, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人中贝。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓囤捻,卻偏偏與公主長得像,于是被迫代替她去往敵國和親邻寿。 傳聞我的和親對象是個殘疾皇子蝎土,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 文/Bruce.Liu1 1.運(yùn)算符 本章節(jié)主要說明Python的運(yùn)算符誊涯。舉個簡單的例子 4 +5 = 9 。 例...
    BruceLiu1閱讀 773評論 0 6
  • 一蒜撮、python 變量和數(shù)據(jù)類型 1.整數(shù) Python可以處理任意大小的整數(shù)暴构,當(dāng)然包括負(fù)整數(shù),在Python程序...
    績重KF閱讀 1,714評論 0 1
  • 與或運(yùn)算 在計(jì)算 a and b 時段磨,如果 a 是 False取逾,則根據(jù)與運(yùn)算法則,整個結(jié)果必定為 False苹支,因此...
    張文靖同學(xué)閱讀 316評論 0 1
  • 最近在慕課網(wǎng)學(xué)習(xí)廖雪峰老師的Python進(jìn)階課程砾隅,做筆記總結(jié)一下重點(diǎn)。 基本變量及其類型 變量 在Python中债蜜,...
    victorsungo閱讀 1,701評論 0 5
  • 文:炫摯情的朝陽 遠(yuǎn)山青青天空碧 近樹翠翠綠如洗 三三兩兩漫步悠 誰家汪汪鬧嬉奇
    摯情_Zy2xe閱讀 188評論 3 5