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

資訊專欄INFORMATION COLUMN

python|列表和元組有什么區(qū)別

rubyshen / 3497人閱讀

摘要:如果有了解過中的列表和元組,你可能會知道相對于列表,元組是不可變的,也就是說元組中的數(shù)據(jù)不能隨意更改。同時(shí),我們用列表來表示這些位置,如果有新的位置,可以加入列表。

如果有了解過python中的列表和元組,你可能會知道相對于列表,元組是不可變的,也就是說元組中的數(shù)據(jù)不能隨意更改。除了列表是用中括號表示而元組是用小括號表示之外,這兩種數(shù)據(jù)類型好像并沒有什么不同,都是用來存放一系列的數(shù)據(jù),事實(shí)真是如此嗎?

a = [1, 3, 5, 7, "a"]

b = (1, 3, 5, 7, "b")

# 現(xiàn)在改變b中的值
b[2] = 4
---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

 in ()
      4 
      5 # 現(xiàn)在改變b中數(shù)據(jù)的值
----> 6 b[2] = 4


TypeError: "tuple" object does not support item assignment

看起來除了元組不可變之外,列表完全可以取代元組,為什么要多此一舉創(chuàng)造出元組這種類型?其實(shí)這背后有更深層的含義,列表是用來表示一組相同類型(相同價(jià)值)的數(shù)據(jù),而元組用來存放不同類型(不同價(jià)值)的數(shù)據(jù),簡單來說,列表是同質(zhì)的,而元組是異構(gòu)的。

比如說,現(xiàn)在有一本書,書里面有一些批注。我們用元組來表示書中第幾頁第幾行的內(nèi)容,像這樣:position = (page, line),然后把它放到字典里作為批注的鍵,表示第幾頁第幾行有批注。同時(shí),我們用列表來表示這些位置,如果有新的位置,可以加入列表。這符合列表可以更改數(shù)據(jù)的特點(diǎn)。但是如果更改元組里面的數(shù)據(jù)就沒有意義了,因?yàn)檫@些坐標(biāo)本來就是存在的。

在python的模塊中,我們可以找到很多例子:

range(10)
range(0, 10)


比如range方法用來生成一列有序地?cái)?shù)據(jù),這些數(shù)據(jù)是等價(jià)的,并沒有不同的功能,所以用列表來表示最合適。而像下面的例子:

from datetime import datetime
datetime.now()
datetime.datetime(2017, 12, 17, 20, 23, 13, 578752)


當(dāng)前時(shí)間適合用元組來表式,因?yàn)樵M中每個數(shù)據(jù)有不同的功能,或者說有不同的價(jià)值,像第一個數(shù)據(jù)表示年份。

說到這,想起了我們之前說過的具名元組nametuple,它用來快速的生成一個類,可以看成是類的輕量級替代方法,也很符合我們上面說的元組的功能。


本人才疏學(xué)淺,上文中難免有些錯誤,還請各位品評指正。如果覺得寫的還行,歡迎關(guān)注我的公眾號MLGroup,帶你走進(jìn)機(jī)器學(xué)習(xí)的世界。

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

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

相關(guān)文章

  • Java與Python詳細(xì)對比

    摘要:序列化的這種過程,我們將其稱為腌制。而把模塊編譯成二進(jìn)制語言程序的這個過程叫做字節(jié)編譯,這個過程會產(chǎn)生一個與編譯的模塊對應(yīng)的文件。 常量: 在Python中常量的使用并不像java等其他編程語言一樣有特定的常量實(shí)現(xiàn)的關(guān)鍵字,在Python中定義需要用對象的方法來創(chuàng)建。 showImg(https://segmentfault.com/img/bVP6mZ?w=1232&h=703); ...

    tianhang 評論0 收藏0
  • Java與Python詳細(xì)對比

    摘要:序列化的這種過程,我們將其稱為腌制。而把模塊編譯成二進(jìn)制語言程序的這個過程叫做字節(jié)編譯,這個過程會產(chǎn)生一個與編譯的模塊對應(yīng)的文件。 常量: 在Python中常量的使用并不像java等其他編程語言一樣有特定的常量實(shí)現(xiàn)的關(guān)鍵字,在Python中定義需要用對象的方法來創(chuàng)建。 showImg(https://segmentfault.com/img/bVP6mZ?w=1232&h=703); ...

    sydMobile 評論0 收藏0
  • Python 爬蟲面試題 170 道:2019 版

    摘要:下面代碼會存在什么問題,如何改進(jìn)一行代碼輸出之間的所有偶數(shù)。簡述進(jìn)程之間如何通信多路復(fù)用的作用模型的區(qū)別什么是并發(fā)和并行解釋什么是異步非阻塞的作用面試題說說你知道的命令如何查看某次提交修改的內(nèi)容答案掃碼下面的二維碼訂閱即可獲取。 引言 最近在刷面試題,所以需要看大量的 Python 相關(guān)的面試題,從大量的題目中總結(jié)了很多的知識,同時(shí)也對一些題目進(jìn)行拓展了,但是在看了網(wǎng)上的大部分面試題不...

    trigkit4 評論0 收藏0
  • 100 個基本 Python 面試問題第二部分(41-60)

    摘要:回到目錄評論區(qū)抽粉絲送書啦歡迎大家在評論區(qū)提出意見和建議抽兩位幸運(yùn)兒送書,實(shí)物圖如下開發(fā)從入門到精通內(nèi)容簡介案例教學(xué)。 ? 作者主頁:海擁 ? 作者簡介:?CSDN...

    Tikitoo 評論0 收藏0
  • 開課吧Python全棧工程師培養(yǎng)計(jì)劃

    摘要:列表和元組都支持切片操作都可以隨意嵌套列表是動態(tài)的,長度可變,可以隨意的增加刪減或改變元素。每行最大長度請限制在個字符全局的類和函數(shù)的上方需要空兩個空行,而類的函數(shù)之間需要空一個空行 03 | 列表和元組,到底用哪一個?列表和元組,都是一個可以放置任意數(shù)據(jù)類型的有序集合,與其它語言相比較,集合的數(shù)據(jù)類型不要求一致列表是動態(tài)...

    stefan 評論0 收藏0

發(fā)表評論

0條評論

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