最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python 元組和列表的區(qū)別

 更新時間:2020年12月30日 10:35:48   作者:薯條老師  
這篇文章主要介紹了python 元組和列表的區(qū)別,幫助大家更好的理解和學習python 數(shù)據(jù)類型的相關知識,感興趣的朋友可以了解下

靜態(tài)數(shù)據(jù)類型

靜態(tài)數(shù)據(jù)類型是指不可以對該數(shù)據(jù)類型進行修改,即只讀的數(shù)據(jù)類型。迄今為止學過的靜態(tài)數(shù)據(jù)類型有字符串,元組。

在使用[]操作符對字符串,元組進行修改時,Python會拋出類型錯誤的異常信息,我們可以在交互模式中進行驗證:

>>> content = "static data type"
>>> content[0]=S
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
NameError: name 'S' is not defined
>>> numbers = (1,2,3,4,5)
>>> numbers[0] = 6
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment

可變數(shù)據(jù)類型

與靜態(tài)數(shù)據(jù)類型相對的是可變數(shù)據(jù)類型,在可變數(shù)據(jù)類型中,可以對集合中的元素進行修改。列表,以及在后面將要介紹的復合數(shù)據(jù)類型:字典,集合,類類型等,都是可變的數(shù)據(jù)類型。我們同樣可以在交互模式中進行驗證:

>>> numbers = [1,2,3,4,5]
>>> id(numbers)
2749153235976
>>> numbers[0]=6
>>> numbers
[6, 2, 3, 4, 5]
>>> id(numbers)
2749153235976

從交互模式的輸出中可以分析出,可以通過[]操作符列表類型進行修改。修改后的列表與修改前的列表,它們具有相同的id值,說明是同一個列表。

執(zhí)行內置的id函數(shù)可以輸出id值,id值即內存地址。

元組與列表的區(qū)別

在使用元組的場景中,都可以使用列表來進行代替,那么為什么還要定義元組這種數(shù)據(jù)類型?在本小節(jié)的內容中,通過兩個方面來進行分析:

(1) 元組是靜態(tài),只讀的數(shù)據(jù)類型

元組與列表的核心區(qū)別在于,元組是靜態(tài)的,列表是動態(tài)的, 可變的。我們在定義變量時,如果該數(shù)據(jù)對象具備靜態(tài),只讀的屬性,應當使用元組,否則應當使用列表。以生活中的購物清單來進行舉例,在購物清單中,我們可以隨時對清單進行修改,比如添加某一個商品,或從購物車中移除某一個商品。
購物清單是可修改的,動態(tài)的,現(xiàn)在通過Python代碼進行模擬:

# __desc__ = 通過Python代碼模擬購物清單的添加和刪除
 
# 定義shopping_list,表示購物清單
shopping_list = ["消毒液", "口罩", "白酒"]
 
# 口罩已經斷貨,從購物車中移除
shopping_list.remove("口罩")
# shopping_list的輸出為["消毒液", "白酒"]
 
# 從購物車中添加葵花口服液
shopping_list.append("葵花口服液")
# shopping_list的輸出為["消毒液", "白酒", "葵花口服液"]

一周有七天,從周一到周日,不會再包含其它的時間單位,一周所包含的時間顯然是靜態(tài)的。此時通過元組來定義一周的所有時間,在使用上非常自然:

# __desc__ = 通過元組來表示一周
 
# 定義變量week,表示一周
week = ("周一", "周二", "周三","周四", "周五", "周六","周日")
 
我們同樣可以通過列表來表示一周:
# __desc__ = 通過列表來表示一周
 
# 定義變量week,表示一周
week = ["周一", "周二", "周三","周四", "周五", "周六","周日"]

由于列表是動態(tài)的數(shù)據(jù)類型,所以可以在程序中隨時對列表進行修改,比如某粗心的程序員在一周的時間里添加了一個周八:

# __desc__ = 粗心的程序員添加了個周八
# 定義變量week,表示一周
week = ["周一", "周二", "周三","周四", "周五", "周六","周日"]
week.append("周八")
# week的輸出為["周一", "周二", "周三","周四", "周五", "周六","周日","周八"]

一周的時間里包含周八,這顯然不符合日常邏輯。而使用元組,可以避免這樣的問題,一旦對元組進行修改,Python就會拋出異常。

(2) 元組的自動解包

利用這樣的特性,可以非常優(yōu)雅地對多個變量進行賦值。
代碼實例:

# __desc__ = 通過元組的解包來優(yōu)雅地賦值
 
# 定義returned_values表示函數(shù)的返回值
returned_values = (True, 1314)
state, result = retured_values
 
# state的值為True, result的值為1314

在Python的函數(shù)中可以返回多個值,實質返回的是一個元組,然后利用元組的自動解包,將返回值一一地進行賦值。

知識要點

(1) 靜態(tài)數(shù)據(jù)類型是指不可以對該數(shù)據(jù)類型進行修改,即只讀的數(shù)據(jù)類型。迄今為止學過的靜態(tài)數(shù)據(jù)類型有字符串,元組。
(2) 與靜態(tài)數(shù)據(jù)類型相對的是動態(tài)數(shù)據(jù)類型,動態(tài)數(shù)據(jù)類型支持對集合中的元素進行修改。列表,以及其它復合數(shù)據(jù)類型:字典,集合,類類型等,都是動態(tài)的數(shù)據(jù)類型。

以上就是python 元組和列表的區(qū)別的詳細內容,更多關于python 元組和列表的資料請關注腳本之家其它相關文章!

相關文章

  • pygame中blit()參數(shù)的使用及臟矩形動畫形成的說明

    pygame中blit()參數(shù)的使用及臟矩形動畫形成的說明

    這篇文章主要介紹了pygame中blit()參數(shù)的使用及臟矩形動畫形成的說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • mac系統(tǒng)裝python后pip命令不能用的解決方案

    mac系統(tǒng)裝python后pip命令不能用的解決方案

    這篇文章主要介紹了mac系統(tǒng)裝python后pip命令不能用的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • 淺談Pandas:Series和DataFrame間的算術元素

    淺談Pandas:Series和DataFrame間的算術元素

    今天小編就為大家分享一篇淺談Pandas:Series和DataFrame間的算術元素,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python算術運算符實例詳解

    Python算術運算符實例詳解

    這篇文章主要介紹了Python算術運算符實例詳解的相關資料,需要的朋友可以參考下
    2017-05-05
  • Python?中設置請求的最大重試次數(shù)示例代碼

    Python?中設置請求的最大重試次數(shù)示例代碼

    本篇文章介紹了為什么我們會收到錯誤消息,指出超出了最大重試次數(shù),以及我們如何在?Python?中為請求設置?max_retries,本文通過示例代碼給大家介紹的非常詳細,需要的朋友參考下吧
    2023-06-06
  • Pycharm遠程調試openstack的方法

    Pycharm遠程調試openstack的方法

    這篇文章主要為大家詳細介紹了Pycharm遠程調試openstack的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • 詳解OpenCV執(zhí)行連通分量標記的方法和分析

    詳解OpenCV執(zhí)行連通分量標記的方法和分析

    在本教程中,您將學習如何使用?OpenCV?執(zhí)行連通分量標記和分析。具體來說,我們將重點介紹?OpenCV?最常用的連通分量標記函數(shù):cv2.connectedComponentsWithStats,感興趣的可以了解一下
    2022-08-08
  • python密碼學RSA密碼加密教程

    python密碼學RSA密碼加密教程

    這篇文章主要為大家介紹了python密碼學RSA密碼加密教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • Python實現(xiàn)批量將word轉html并將html內容發(fā)布至網站的方法

    Python實現(xiàn)批量將word轉html并將html內容發(fā)布至網站的方法

    這篇文章主要介紹了Python實現(xiàn)批量將word轉html并將html內容發(fā)布至網站的方法,涉及Python調用第三方接口進行文件轉換及操作數(shù)據(jù)庫等相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • python使用rsa非對稱加密過程解析

    python使用rsa非對稱加密過程解析

    這篇文章主要介紹了python使用rsa非對稱加密過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12

最新評論

鲁甸县| 黄平县| 建平县| 阿勒泰市| 弋阳县| 韶山市| 城市| 太康县| 牙克石市| 通许县| 勐海县| 丰宁| 泰来县| 望江县| 安阳市| 电白县| 玉树县| 论坛| 耿马| 山东| 崇礼县| 敦化市| 龙门县| 松滋市| 通城县| 政和县| 开化县| 新建县| 江山市| 平遥县| 北京市| 波密县| 邢台市| 隆子县| 雷州市| 松溪县| 大洼县| 和田县| 孝感市| 海安县| 昔阳县|