成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

詳解Python中元組的三個(gè)不常用特性

89542767 / 413人閱讀

  Python元素的內(nèi)容還是比較的復(fù)雜的,里面包含有很多的不同特性,不同特性之間,其用法也是不一樣的。那么,其中它的三個(gè)不同特性之間,里面的內(nèi)容是什么呢?下面就給大家詳細(xì)的解答下。


  1.引言


  元組是Python中一種重要的內(nèi)置數(shù)據(jù)類型。與列表一樣,我們經(jīng)常使用元組將多個(gè)對象保存為相應(yīng)的數(shù)據(jù)容器。然而,與列表不同的是元組的不變性——一個(gè)不可改變的數(shù)據(jù)序列。


  2.舉個(gè)例子


  下面的代碼片段向我們展示了元組的一些常見用法。


  response=(404,"Can't access website")
  response_code=response[0]
  response_data=response[1]
  assert response_code==404
  assert response_data=="Can't access website"


  上述代碼段對我們來說功能很簡單。我們使用一對括號來創(chuàng)建一個(gè)元組對象,將不同元素括起來。我們可以通過索引來訪問元組中的單個(gè)元素。


  除了上述元組的基本用法外,元組還具有其他鮮為人知的用法。讓我們在本文中回顧一下。


  3.創(chuàng)建包含單一元素的元組


  正如上述代碼示例,我們使用一對括號來創(chuàng)建元組對象。通常,一個(gè)元組對象包含兩個(gè)或多個(gè)元素,我們使用逗號來分隔這些元素。


  如果我們想創(chuàng)建一個(gè)僅包含一個(gè)元素的元組,我們應(yīng)該怎么做?讓我們試試:


  >>>math_score=(95)
  >>>math_score[0]
  Traceback(most recent call last):
  File"<stdin>",line 1,in<module>
  TypeError:'int'object is not subscriptable
  >>>type(math_score)
  <class'int'>


  正如我們看到的一樣,(95)并不像我們中的一些人所想的那樣創(chuàng)建元組對象。相反,它創(chuàng)建了一個(gè)整數(shù)。你也許想到了,正確的方法是需要在元素后面加一個(gè)逗號:


  >>>math_score=(95,)
  >>>math_score[0]
  95
  >>>type(math_score)
  <class'tuple'>


  4.使用下劃線和*來unpack元組


  雖然我們可以通過索引來訪問元組的每項(xiàng)元素,但更常見的收單是使用unpack技術(shù),例如:


  response=(404,"Can't access website")
  response_code,response_data=response

  對于unpack技術(shù),我們定義了許多變量,這些變量的數(shù)量與元組的長度相匹配。即元組的每個(gè)元素都被分配給相應(yīng)的變量。


  如果我們不需要使用所有創(chuàng)建的變量,此時(shí)建議使用下劃線來表示這些未被使用的變量。例如針對上述例子,我們可能只對使用變量response_data,而不使用response_data,此時(shí)我們可以執(zhí)行以下操作:

  _,response_data=response


  這樣,我們就告訴代碼的讀者,此時(shí)我們只對訪問tuple對象的第二個(gè)元素感興趣。


  當(dāng)一個(gè)元組對象中有多個(gè)元素時(shí),如果我們希望可以訪問多個(gè)連續(xù)的元素,此時(shí)我們可以使用星號表達(dá)式:


  scores=(98,95,95,92,91)
  algebra,*others,zoology=scores
  assert others==[95,95,92]


  如上所示,我們有一個(gè)元組對象,它按字母順序保存了各項(xiàng)課程的分?jǐn)?shù),我們知道第一門課程是代數(shù),最后一門是動物學(xué)。在上面的例子中,我們通過星號進(jìn)行unpack操作得到了在中間的三個(gè)分?jǐn)?shù)。


  5.使用命名元組


  我們可以使用索引或unpack操作來訪問元組的各個(gè)元素,以將這些元素分配給多帶帶的變量。有時(shí),這樣做可能會很丑陋。


  請參見以下示例:


  location1=(27.2,7.5)
  location2=(30.1,8.4)
  location3=(29.9,7.7)
  latitude1=location1[0]
  longitude2=location2[1]
  latitude3,longitude3=location3


  上述代碼中,我們有三個(gè)location變量,顯示了各自的位置坐標(biāo)。當(dāng)我們訪問這些坐標(biāo)的單個(gè)元素時(shí),代碼看起來不那么簡潔。


  雖然我們可以使用自定義類來實(shí)現(xiàn)坐標(biāo)的數(shù)據(jù)類型,但對于這個(gè)簡單的數(shù)據(jù)類型,自定義類可能顯得有些臃腫。相反,我們可以使用命名元組來作為輕量級數(shù)據(jù)類型,如下:


  from collections import namedtuple
  Location=namedtuple("Location",
  ["latitude","longitude"])
  location1=Location(27.2,7.5)
  location2=Location(30.1,8.4)
  location3=Location(29.9,7.7)
  latitude1=location1.latitude
  longitude2=location2.longitude
  location3.latitude,location3.longitude


  如上所示,我們調(diào)用namedtuple通過指定類名及其屬性來創(chuàng)建命名元組類?,F(xiàn)在,我們可以通過調(diào)用類的構(gòu)造函數(shù)來創(chuàng)建命名元組類的實(shí)例。對于這些實(shí)例,我們可以使用點(diǎn)符號來訪問其屬性,這是常規(guī)元組對象無法使用的特性。


  6.總結(jié)


  在本文中,我們回顧了Python中元組的三個(gè)特性。使用這些特性,可以極大地提升我們代碼的可讀性和可理解性,希望大家可以將其多多應(yīng)用于日常工作中。

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

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/128365.html

相關(guān)文章

  • Python爬蟲入門

    摘要:什么是爬蟲一段自動抓取互聯(lián)網(wǎng)信息的程序,從互聯(lián)網(wǎng)上抓取對于我們有價(jià)值的信息四種基本數(shù)據(jù)結(jié)構(gòu)列表列表中的每個(gè)元素都是可變的列表的元素都是有序的,也就是說每個(gè)元素都有對應(yīng)的位置列表可以容納所有的對象波波超哥小明波波超哥小明如果為切片返回的也是列 什么是爬蟲? 一段自動抓取互聯(lián)網(wǎng)信息的程序,從互聯(lián)網(wǎng)上抓取對于我們有價(jià)值的信息 Python四種基本數(shù)據(jù)結(jié)構(gòu) 列表 **列表中的每個(gè)元素都是可變的...

    xbynet 評論0 收藏0
  • python_bomb----元組(tuple)

    摘要:元組的創(chuàng)建元組是帶了約束的列表,仍可以存放任意數(shù)據(jù)類型默認(rèn)元組內(nèi)容是不可改變的,但當(dāng)元組內(nèi)包含可變數(shù)據(jù)類型時(shí),可以間接修改元組如果元組內(nèi)只有一個(gè)元素,其后要加逗號,否則數(shù)據(jù)類型不確定元組的常用方法元組的特性索引切片重復(fù)連接只能增加元組成 元組(tuple)的創(chuàng)建 元組是帶了約束的列表,仍可以存放任意數(shù)據(jù)類型 >>> sheen =(1,3,True,3.4,[1,4],(1,5)) >...

    layman 評論0 收藏0
  • Python 進(jìn)階之路 (三) Tuple元組使用指南

    摘要:返回元組中元素最大值。將列表轉(zhuǎn)換為元組。如果相對元組排序,通常先得將它轉(zhuǎn)換為列表并使其成為一個(gè)可變對象,才能獲得使用排序方法,或使用內(nèi)置方法。 比List更安全的數(shù)據(jù)類型 大家好,今天為大家介紹一種更為安全的Python內(nèi)置數(shù)據(jù)類型:tuple(元組),以及它的基礎(chǔ)用法 元組是什么 元組(tuple)是另一種有序的數(shù)據(jù)類型,與list比較類似。主要不同的一點(diǎn)是tuple被創(chuàng)建后就不能對...

    1fe1se 評論0 收藏0

發(fā)表評論

0條評論

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