<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 定義 先看一個例子: ~~~ >>>#變量引用str >>> s = "abc" >>> s 'abc' >>>#如果這樣寫,就會是... >>> t = 123,'abc',["come","here"] >>> t (123, 'abc', ['come', 'here']) ~~~ 上面例子中看到的變量t,并沒有報錯,也沒有“最后一個有效”,而是將對象做為一個新的數據類型:tuple(元組),賦值給了變量t。 **元組是用圓括號括起來的,其中的元素之間用逗號隔開。(都是英文半角)** 元組中的元素類型是任意的python數據。 > 這種類型,可以歪著想,所謂“元”組,就是用“圓”括號啦。 > > 其實,你不應該對元組陌生,還記得前面講述字符串的格式化輸出時,有這樣一種方式: ~~~ >>> print "I love %s, and I am a %s" % ('python', 'programmer') I love python, and I am a programmer ~~~ > 這里的圓括號,就是一個元組。 顯然,tuple是一種序列類型的數據,這點上跟list/str類似。它的特點就是其中的元素不能更改,這點上跟list不同,倒是跟str類似;它的元素又可以是任何類型的數據,這點上跟list相同,但不同于str。 ~~~ >>> t = 1,"23",[123,"abc"],("python","learn") #元素多樣性,近list >>> t (1, '23', [123, 'abc'], ('python', 'learn')) >>> t[0] = 8  #不能原地修改,近str Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'tuple' object does not support item assignment >>> t.append("no") Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'tuple' object has no attribute 'append' >>> ~~~ 從上面的簡單比較似乎可以認為,tuple就是一個融合了部分list和部分str屬性的雜交產物。此言有理。 ## [](https://github.com/qiwsir/StarterLearningPython/blob/master/115.md#索引和切片)索引和切片 因為前面有了關于列表和字符串的知識,它們都是序列類型,元組也是。因此,元組的基本操作就和它們是一樣的。 例如: ~~~ >>> t (1, '23', [123, 'abc'], ('python', 'learn')) >>> t[2] [123, 'abc'] >>> t[1:] ('23', [123, 'abc'], ('python', 'learn')) >>> t[2][0] #還能這樣呀,哦對了,list中也能這樣 123 >>> t[3][1] 'learn' ~~~ 關于序列的基本操作在tuple上的表現,就不一一展示了。看官可以去試試。 但是這里要特別提醒,如果一個元組中只有一個元素的時候,應該在該元素后面加一個半角的英文逗號。 ~~~ >>> a = (3) >>> type(a) <type 'int'> >>> b = (3,) >>> type(b) <type 'tuple'> ~~~ 以上面的例子說明,如果不加那個逗號,就不是元組,加了才是。這也是為了避免讓python誤解你要表達的內容。 順便補充:如果要想看一個對象是什么類型,可以使用`type()`函數,然后就返回該對象的類型。 **所有在list中可以修改list的方法,在tuple中,都失效。** 分別用list()和tuple()能夠實現兩者的轉化: ~~~ >>> t (1, '23', [123, 'abc'], ('python', 'learn')) >>> tls = list(t) #tuple-->list >>> tls [1, '23', [123, 'abc'], ('python', 'learn')] >>> t_tuple = tuple(tls) #list-->tuple >>> t_tuple (1, '23', [123, 'abc'], ('python', 'learn')) ~~~ ## [](https://github.com/qiwsir/StarterLearningPython/blob/master/115.md#tuple用在哪里)tuple用在哪里? 既然它是list和str的雜合,它有什么用途呢?不是用list和str都可以了嗎? 在很多時候,的確是用list和str都可以了。但是,看官不要忘記,我們用計算機語言解決的問題不都是簡單問題,就如同我們的自然語言一樣,雖然有的詞匯看似可有可無,用別的也能替換之,但是我們依然需要在某些情況下使用它們. 一般認為,tuple有這類特點,并且也是它使用的情景: * Tuple 比 list 操作速度快。如果您定義了一個值的常量集,并且唯一要用它做的是不斷地遍歷它,請使用 tuple 代替 list。 * 如果對不需要修改的數據進行 “寫保護”,可以使代碼更安全。使用 tuple 而不是 list 如同擁有一個隱含的 assert 語句,說明這一數據是常量。如果必須要改變這些值,則需要執行 tuple 到 list 的轉換 (需要使用一個特殊的函數)。 * Tuples 可以在 dictionary(字典,后面要講述) 中被用做 key,但是 list 不行。Dictionary key 必須是不可變的。Tuple 本身是不可改變的,但是如果您有一個 list 的 tuple,那就認為是可變的了,用做 dictionary key 就是不安全的。只有字符串、整數或其它對 dictionary 安全的 tuple 才可以用作 dictionary key。 * Tuples 可以用在字符串格式化中。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看