欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

簡單談談Python中的元祖(Tuple)和字典(Dict)

 更新時間:2017年04月21日 15:48:02   作者:Vimiix  
這篇文章主要介紹了關于Python中元祖(Tuple)和字典(Dict)的相關資料,文中通過示例代碼介紹的非常詳細,相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。

前言

本文記錄了對于Python的數據類型中元祖(Tuple)和字典(Dict)的一些認識,以及部分內置方法的介紹。下面話不多說,來看看詳細的介紹吧。

元祖 Tuple

特點:元祖內的數據不可變

一個元素的定義:T = (1,)

>>> T=(1,)
>>> type(T)
<type 'tuple'>

特殊的元祖:”可變”的元祖

>>> T=(1,2,3,[1,2,3])
>>> T[3][2] = 'vimiix'
>>> T
(1, 2, 3, [1, 2, 'vimiix'])

看上去元祖發(fā)生了變化,但真正變化的是[1,2,3]這個列表內的元素發(fā)生了變化,但是這個列表在T這個元祖中的內存地址是沒有改變的。

結論:實際是元祖的元素包含了可變的元素,但是元祖中元素的內存地址沒有變,所以所謂的元祖不可變是指元素指向的內存地址是不變

字典 Dict

特點:

      1、字典是Python中唯一的映射類型

      2、字典的鍵(KEY)必須是不可變的對象—>因為字典在計算機中是通過Hash算法存儲的,Hash的特點是由KEY來計算存儲的,如果KEY可變,將會導致數據混亂。

>>> D = {1:3,'vimiix':88}
>>> type(D)
<type 'dict'>
>>> D={[1,2,3]:100}
Traceback (most recent call last):
 File "<pyshell#15>", line 1, in <module>
 D={[1,2,3]:100}
TypeError: unhashable type: 'list' (這里提示list是不能被Hash計算的數據類型,因為list是可變的數據類型)
>>>

由此錯誤可以看出,字典的鍵只能使用不可變的對象(元祖是可以的),但是對于字典的值沒有此要求

鍵值對用冒號‘:'分割,每個對之間用逗號‘,'分開,所有這些用花括號‘{}'包含起來

字典中的鍵值對是沒有順序的,故不可以用索引訪問,只可以通過鍵取得所對應的值

拓展:如果定義的過程中,出現相同的鍵,最后存儲的時候回保留最后的一個鍵值對)

>>> D= {1:2,1:3}
>>> D
{1: 3}

創(chuàng)建與訪問

第一種創(chuàng)建方式:直接通過花括號包含鍵值對來創(chuàng)建

第二種創(chuàng)建方式:利用內置函數dict()來創(chuàng)建,注意!dict()括號內只能有一個參數,要把所有的鍵值對括起來

(1)

>>> D =dict((1,2),(3,4),(5,6))
Traceback (most recent call last):
 File "<pyshell#20>", line 1, in <module>
 D =dict((1,2),(3,4),(5,6))
TypeError: dict expected at most 1 arguments, got 3
>>> D =dict(((1,2),(3,4),(5,6)))
>>> D
{1: 2, 3: 4, 5: 6}

(2)還可以指定關鍵字參數

>>> D=dict(vimiix = 'VIMIIX')
>>> D
{'vimiix': 'VIMIIX'}

這里的小寫‘vimiix'不可以加單引號,加了會報錯!

(3)dict的內置方法 .fromkeys 有兩個參數

>>> D = dict.fromkeys((1,'vimiix'),('common','value'))
>>> D
{1: ('common', 'value'), 'vimiix': ('common', 'value')}
>>>

實際的生產過程中,都是使用字典生成式來創(chuàng)建,根據現有的數據來生成對應的數據,有數據才有意義。

字典生成式栗子:

>>> L1 = [1,2,3]
>>> L2 = ['a','v','vimiix']
>>> D={a:b for a in L1 for b in L2}
>>> D
{1: 'vimiix', 2: 'vimiix', 3: 'vimiix'}

此處只是一個生成式的栗子,但并不是理想答案,待學習如何生成一一對應的鍵值對

字典的內置方法:

get() :

獲取鍵所對應的值,如果未找到返回None,找到返回對應的值

pop(key) :

彈出key對應的值,默認最后一個

popitem() :

隨機返回并刪除字典中的一對鍵和值(項)。為什么是隨機刪除呢?因為字典是無序的,沒有所謂的“最后一項”或是其它順序。在工作時如果遇到需要逐一刪除項的工作,用popitem()方法效率很高。

update() :

更新或者新增一個鍵值對(有則改之無則加勉)

>>> D.update({'newitem':'update'})
>>> D
{'newitem': 'update', 1: 'vimiix', 2: 'vimiix', 3: 'vimiix'}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

  • python實現書法碑帖圖片分割

    python實現書法碑帖圖片分割

    這篇文章主要為大家詳細介紹了python實現書法碑帖圖片分割,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • 手機Python編程軟件QPython支持第三方庫安裝詳解

    手機Python編程軟件QPython支持第三方庫安裝詳解

    這篇文章主要為大家介紹了手機Python編程軟件QPython的推薦使用,支持第三方庫安裝,這樣大家在上下班途中也可以來練練手啦,有需要的朋友一起用起來吧
    2021-10-10
  • Python自定義指標聚類實例代碼

    Python自定義指標聚類實例代碼

    K-means算法是最為經典的基于劃分的聚類方法,是十大經典數據挖掘算法之一,下面這篇文章主要給大家介紹了關于Python自定義指標聚類的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-02-02
  • Python中多進程處理的Process和Pool的用法詳解

    Python中多進程處理的Process和Pool的用法詳解

    在Python編程中,多進程是一種強大的并行處理技術,Python提供了兩種主要的多進程處理方式:Process和Pool,本文將詳細介紹這兩種方式的使用,希望對大家有所幫助
    2024-02-02
  • Python3 使用pillow庫生成隨機驗證碼

    Python3 使用pillow庫生成隨機驗證碼

    這篇文章主要介紹了Python3 使用pillow庫生成隨機驗證碼,需要的朋友可以參考下
    2019-08-08
  • Python連接達夢數據庫的實現示例

    Python連接達夢數據庫的實現示例

    本文主要介紹了Python連接達夢數據庫的實現示例,dmPython是DM提供的依據Python DB API version 2.0中API使用規(guī)定而開發(fā)的數據庫訪問接口,使Python應用程序能夠對DM數據庫進行訪問
    2023-12-12
  • 基于Python獲取城市近7天天氣預報

    基于Python獲取城市近7天天氣預報

    這篇文章主要介紹了基于Python獲取城市近7天天氣預報,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • Python字節(jié)單位轉換(將字節(jié)轉換為K M G T)

    Python字節(jié)單位轉換(將字節(jié)轉換為K M G T)

    這篇文章主要介紹了Python字節(jié)單位轉換(將字節(jié)轉換為K M G T),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • 如何使用Numpy創(chuàng)建三維矩陣

    如何使用Numpy創(chuàng)建三維矩陣

    這篇文章主要介紹了如何使用Numpy創(chuàng)建三維矩陣問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • pandas中遍歷dataframe的每一個元素的實現

    pandas中遍歷dataframe的每一個元素的實現

    這篇文章主要介紹了pandas中遍歷dataframe的每一個元素的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10

最新評論