亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

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

瀏覽:2日期:2022-07-05 09:05:08

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

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

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

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

>>> content = 'static data type'>>> content[0]=STraceback (most recent call last): File '<stdin>', line 1, in <module>NameError: name ’S’ is not defined>>> numbers = (1,2,3,4,5)>>> numbers[0] = 6Traceback (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ù)類型中,可以對集合中的元素進(jìn)行修改。列表,以及在后面將要介紹的復(fù)合數(shù)據(jù)類型:字典,集合,類類型等,都是可變的數(shù)據(jù)類型。我們同樣可以在交互模式中進(jìn)行驗(yàn)證:

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

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

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

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

在使用元組的場景中,都可以使用列表來進(jìn)行代替,那么為什么還要定義元組這種數(shù)據(jù)類型?在本小節(jié)的內(nèi)容中,通過兩個(gè)方面來進(jìn)行分析:(1) 元組是靜態(tài),只讀的數(shù)據(jù)類型元組與列表的核心區(qū)別在于,元組是靜態(tài)的,列表是動態(tài)的, 可變的。我們在定義變量時(shí),如果該數(shù)據(jù)對象具備靜態(tài),只讀的屬性,應(yīng)當(dāng)使用元組,否則應(yīng)當(dāng)使用列表。以生活中的購物清單來進(jìn)行舉例,在購物清單中,我們可以隨時(shí)對清單進(jìn)行修改,比如添加某一個(gè)商品,或從購物車中移除某一個(gè)商品。購物清單是可修改的,動態(tài)的,現(xiàn)在通過Python代碼進(jìn)行模擬:

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

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

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

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

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

一周的時(shí)間里包含周八,這顯然不符合日常邏輯。而使用元組,可以避免這樣的問題,一旦對元組進(jìn)行修改,Python就會拋出異常。(2) 元組的自動解包利用這樣的特性,可以非常優(yōu)雅地對多個(gè)變量進(jìn)行賦值。代碼實(shí)例:

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

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

知識要點(diǎn)

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

以上就是python 元組和列表的區(qū)別的詳細(xì)內(nèi)容,更多關(guān)于python 元組和列表的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 美女拍拍拍无遮挡 | 狠狠色丁香九九婷婷综合五月 | 一级aa免费视频毛片 | 国产高清精品在线 | 丁香婷婷综合五月综合色啪 | 国产精品久久久久久一级毛片 | 亚洲香蕉综合在人在线时看 | 日本黄色大片免费 | 亚洲第一页在线 | 啪视频在线观看高清 | 国产伦久视频免费观看 视频 | 高清配种视频xxxxx | 成人免费男女视频网站慢动作 | 免费看国产一级特黄aa大片 | 1024国产在线观看 | 国产高清在线不卡 | 亚洲国产精品久久网午夜 | 女女互添下身免费视频 | 国产爽妇网 | 九九热线精品视频6一 | 国自产在线精品免费 | 超级碰碰碰碰97久久久久 | 免费的全黄一级录像带 | 久久国产精品99精品国产 | 久久综久久美利坚合众国 | 久久精品免费全国观看国产 | 中日韩中文字幕 | 三级成人影院 | 久久精品视频播放 | 妞干网中文字幕 | 国产专区在线视频 | 久久精品国产只有精品2020 | 中文字幕一区二区在线视频 | 欧美乱妇欲仙欲死视频免费 | 色婷婷色99国产综合精品 | 国产免费一区二区三区在线观看 | 日日摸夜夜添夜夜添欧美毛片 | 亚洲精品久久九九精品 | 可以免费观看的一级毛片 | 国产精品天天影视久久综合网 | 国产一区二区在线视频 |