摘要:如果有了解過中的列表和元組,你可能會知道相對于列表,元組是不可變的,也就是說元組中的數據不能隨意更改。同時,我們用列表來表示這些位置,如果有新的位置,可以加入列表。
如果有了解過python中的列表和元組,你可能會知道相對于列表,元組是不可變的,也就是說元組中的數據不能隨意更改。除了列表是用中括號表示而元組是用小括號表示之外,這兩種數據類型好像并沒有什么不同,都是用來存放一系列的數據,事實真是如此嗎?
a = [1, 3, 5, 7, "a"] b = (1, 3, 5, 7, "b") # 現在改變b中的值 b[2] = 4
--------------------------------------------------------------------------- TypeError Traceback (most recent call last)in () 4 5 # 現在改變b中數據的值 ----> 6 b[2] = 4 TypeError: "tuple" object does not support item assignment
看起來除了元組不可變之外,列表完全可以取代元組,為什么要多此一舉創造出元組這種類型?其實這背后有更深層的含義,列表是用來表示一組相同類型(相同價值)的數據,而元組用來存放不同類型(不同價值)的數據,簡單來說,列表是同質的,而元組是異構的。
比如說,現在有一本書,書里面有一些批注。我們用元組來表示書中第幾頁第幾行的內容,像這樣:position = (page, line),然后把它放到字典里作為批注的鍵,表示第幾頁第幾行有批注。同時,我們用列表來表示這些位置,如果有新的位置,可以加入列表。這符合列表可以更改數據的特點。但是如果更改元組里面的數據就沒有意義了,因為這些坐標本來就是存在的。
在python的模塊中,我們可以找到很多例子:
range(10)
range(0, 10)
比如range方法用來生成一列有序地數據,這些數據是等價的,并沒有不同的功能,所以用列表來表示最合適。而像下面的例子:
from datetime import datetime datetime.now()
datetime.datetime(2017, 12, 17, 20, 23, 13, 578752)
當前時間適合用元組來表式,因為元組中每個數據有不同的功能,或者說有不同的價值,像第一個數據表示年份。
說到這,想起了我們之前說過的具名元組nametuple,它用來快速的生成一個類,可以看成是類的輕量級替代方法,也很符合我們上面說的元組的功能。
本人才疏學淺,上文中難免有些錯誤,還請各位品評指正。如果覺得寫的還行,歡迎關注我的公眾號MLGroup,帶你走進機器學習的世界。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/41078.html
摘要:序列化的這種過程,我們將其稱為腌制。而把模塊編譯成二進制語言程序的這個過程叫做字節編譯,這個過程會產生一個與編譯的模塊對應的文件。 常量: 在Python中常量的使用并不像java等其他編程語言一樣有特定的常量實現的關鍵字,在Python中定義需要用對象的方法來創建。 showImg(https://segmentfault.com/img/bVP6mZ?w=1232&h=703); ...
摘要:序列化的這種過程,我們將其稱為腌制。而把模塊編譯成二進制語言程序的這個過程叫做字節編譯,這個過程會產生一個與編譯的模塊對應的文件。 常量: 在Python中常量的使用并不像java等其他編程語言一樣有特定的常量實現的關鍵字,在Python中定義需要用對象的方法來創建。 showImg(https://segmentfault.com/img/bVP6mZ?w=1232&h=703); ...
摘要:下面代碼會存在什么問題,如何改進一行代碼輸出之間的所有偶數。簡述進程之間如何通信多路復用的作用模型的區別什么是并發和并行解釋什么是異步非阻塞的作用面試題說說你知道的命令如何查看某次提交修改的內容答案掃碼下面的二維碼訂閱即可獲取。 引言 最近在刷面試題,所以需要看大量的 Python 相關的面試題,從大量的題目中總結了很多的知識,同時也對一些題目進行拓展了,但是在看了網上的大部分面試題不...
摘要:回到目錄評論區抽粉絲送書啦歡迎大家在評論區提出意見和建議抽兩位幸運兒送書,實物圖如下開發從入門到精通內容簡介案例教學。 ? 作者主頁:海擁 ? 作者簡介:?CSDN...
摘要:列表和元組都支持切片操作都可以隨意嵌套列表是動態的,長度可變,可以隨意的增加刪減或改變元素。每行最大長度請限制在個字符全局的類和函數的上方需要空兩個空行,而類的函數之間需要空一個空行 03 | 列表和元組,到底用哪一個?列表和元組,都是一個可以放置任意數據類型的有序集合,與其它語言相比較,集合的數據類型不要求一致列表是動態...
閱讀 3851·2021-09-27 13:56
閱讀 889·2021-09-08 09:36
閱讀 775·2019-08-30 15:54
閱讀 618·2019-08-29 17:29
閱讀 939·2019-08-29 17:21
閱讀 1695·2019-08-29 16:59
閱讀 2772·2019-08-29 13:03
閱讀 2975·2019-08-29 12:47