国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python中列表和元組的區別

2020-02-16 11:07:49
字體:
來源:轉載
供稿:網友

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

a = [1, 3, 5, 7, 'a']b = (1, 3, 5, 7, 'b')# 現在改變b中的值b[2] = 4
TypeError                 Traceback (most recent call last)<ipython-input-2-96f3d2fefb53> in <module>()   4    5 # 現在改變b中數據的值----> 6 b[2] = 4TypeError: 'tuple' object does not support item assignment

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

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

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

range(10)
range(0, 10)

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

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

當前時間適合用元組來表式,因為元組中每個數據有不同的功能,或者說有不同的價值,像第一個數據表示年份。

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 铜山县| 鄂托克前旗| 建宁县| 儋州市| 闻喜县| 军事| 石门县| 清原| 苏尼特左旗| 洛宁县| 万源市| 泸定县| 瓦房店市| 周口市| 北碚区| 静乐县| 竹溪县| 双峰县| 屯昌县| 岢岚县| 册亨县| 平江县| 贵定县| 镇江市| 黔东| 阳新县| 龙南县| 赣州市| 海兴县| 电白县| 双流县| 建宁县| 上虞市| 马公市| 方正县| 大荔县| 胶南市| 保德县| 攀枝花市| 新野县| 汾阳市|