欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2017年12月18日 10:24:09   投稿:laozhang  
給大家詳細講解了python中列表和元組的區(qū)別,需要的朋友參考一下。

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

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

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

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

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

range(10)
range(0, 10)

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

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

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

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

相關文章

  • Python+opencv 實現(xiàn)圖片文字的分割的方法示例

    Python+opencv 實現(xiàn)圖片文字的分割的方法示例

    這篇文章主要介紹了Python+opencv 實現(xiàn)圖片文字的分割的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • Python multiprocessing 進程間通信方式實現(xiàn)

    Python multiprocessing 進程間通信方式實現(xiàn)

    本文主要介紹了Python multiprocessing 進程間通信方式實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • pytorch中tensor的合并與截取方法

    pytorch中tensor的合并與截取方法

    今天小編就為大家分享一篇pytorch中tensor的合并與截取方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • python?特有語法推導式的基本使用

    python?特有語法推導式的基本使用

    python中有一種特有的語法,就是推導式(又稱為解析式)。推導式是可以從一個數(shù)據(jù)序列構建另一個新的數(shù)據(jù)序列的結構體
    2022-03-03
  • 在Python中表示一個對象的方法

    在Python中表示一個對象的方法

    這篇文章主要介紹了在Python中表示一個對象的方法,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-06-06
  • python入門教程之識別驗證碼

    python入門教程之識別驗證碼

    這篇文章主要介紹了python中識別驗證碼的相關資料,這屬于學習python的基本入門教程,文中介紹的非常詳細,文末也給出了完整的示例代碼,需要的朋友們可以參考學習,下面來一起看看吧。
    2017-03-03
  • pandas?如何將字符串映射為數(shù)字

    pandas?如何將字符串映射為數(shù)字

    這篇文章主要介紹了pandas?如何將字符串映射為數(shù)字,具有很好的參考價值,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • 詳解python 降級到3.6終極解決方案

    詳解python 降級到3.6終極解決方案

    這篇文章主要介紹了詳解python 降級到3.6終極解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • 教你如何在Pycharm中導入requests模塊

    教你如何在Pycharm中導入requests模塊

    這篇文章主要介紹了教你如何在Pycharm中導入requests模塊,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • pandas的排序和排名的具體使用

    pandas的排序和排名的具體使用

    這篇文章主要介紹了pandas的排序和排名的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07

最新評論