<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國際加速解決方案。 廣告
                ## 對list的操作 ### list的長度 還記得str的長度怎么獲得嗎?其長度是什么含呢?那種方法能不能用在list上面呢?效果如何? 做實驗: ~~~ >>> name = 'qiwsir' >>> type(name) <type 'str'> >>> len(name) 6 >>> lname = ['sir','qi'] >>> type(lname) <type 'list'> >>> len(lname) 2 >>> length = len(lname) >>> length 2 >>> type(length) <type 'int'> ~~~ 實驗結論: * len(x),對于list一樣適用 * 得到的是list中元素個數 * 返回值是int類型 ### 合并list [《有容乃大的list(1)》](_-113)中,對list的操作提到了list.append(x),也就是將某個元素x 追加到已知的一個list后邊。 除了將元素追加到list中,還能夠將兩個list合并,或者說將一個list追加到另外一個list中。按照前文的慣例,還是首先看[官方文檔](https://docs.python.org/2/tutorial/datastructures.html)中的描述: > list.extend(L) > > Extend the list by appending all the items in the given list; equivalent to a[len(a):] = L. **向所有正在學習本內容的朋友提供一個成為優秀程序員的必備:看官方文檔,是必須的。** 官方文檔的這句話翻譯過來: > 通過將所有元素追加到已知list來擴充它,相當于a[len(a)]= L 英語太爛,翻譯太差。直接看例子,更明白 ~~~ >>> la [1, 2, 3] >>> lb ['qiwsir', 'python'] >>> la.extend(lb) >>> la [1, 2, 3, 'qiwsir', 'python'] >>> lb ['qiwsir', 'python'] ~~~ 上面的例子,顯示了如何將兩個list,一個是la,另外一個lb,將lb追加到la的后面,也就是把lb中的所有元素加入到la中,即讓la擴容。 學程序一定要有好奇心,我在交互環境中,經常實驗一下自己的想法,有時候是比較愚蠢的想法。 ~~~ >>> la = [1,2,3] >>> b = "abc" >>> la.extend(b) >>> la [1, 2, 3, 'a', 'b', 'c'] >>> c = 5 >>> la.extend(c) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'int' object is not iterable ~~~ 從上面的實驗中,看官能夠有什么心得?原來,如果extend(str)的時候,str被以字符為單位拆開,然后追加到la里面。 如果extend的對象是數值型,則報錯。 所以,extend的對象是一個list,如果是str,則python會先把它按照字符為單位轉化為list再追加到已知list。 不過,別忘記了前面官方文檔的后半句話,它的意思是: ~~~ >>> la [1, 2, 3, 'a', 'b', 'c'] >>> lb ['qiwsir', 'python'] >>> la[len(la):]=lb >>> la [1, 2, 3, 'a', 'b', 'c', 'qiwsir', 'python'] ~~~ list.extend(L) 等效于 list[len(list):] = L,L是待并入的list 聯想到到[上一講](_-113)中的一個list函數list.append(),這里的extend函數也是將另外的元素(只不過這個元素是列表)增加到一個已知列表中,那么兩者有什么不一樣呢?看下面例子: ~~~ >>> lst = [1,2,3] >>> lst.append(["qiwsir","github"]) >>> lst [1, 2, 3, ['qiwsir', 'github']] #append的結果 >>> len(lst) 4 >>> lst2 = [1,2,3] >>> lst2.extend(["qiwsir","github"]) >>> lst2 [1, 2, 3, 'qiwsir', 'github'] #extend的結果 >>> len(lst2) 5 ~~~ append是整建制地追加,extend是個體化擴編。 ### list中某元素的個數 上面的len(L),可得到list的長度,也就是list中有多少個元素。python的list還有一個操作,就是數一數某個元素在該list中出現多少次,也就是某個元素有多少個。官方文檔是這么說的: > list.count(x) > > Return the number of times x appears in the list. 一定要不斷實驗,才能理解文檔中精煉的表達。 ~~~ >>> la = [1,2,1,1,3] >>> la.count(1) 3 >>> la.append('a') >>> la.append('a') >>> la [1, 2, 1, 1, 3, 'a', 'a'] >>> la.count('a') 2 >>> la.count(2) 1 >>> la.count(5) #NOTE:la中沒有5,但是如果用這種方法找,不報錯,返回的是數字0 0 ~~~ ### 元素在list中的位置 [《有容乃大的list(1)》](_-113)中已經提到,可以將list中的元素,從左向右依次從0開始編號,建立索引(如果從右向左,就從-1開始依次編號),通過索引能夠提取出某個元素,或者某幾個元素。就是如這樣做: ~~~ >>> la [1, 2, 3, 'a', 'b', 'c', 'qiwsir', 'python'] >>> la[2] 3 >>> la[2:5] [3, 'a', 'b'] >>> la[:7] [1, 2, 3, 'a', 'b', 'c', 'qiwsir'] ~~~ 如果考慮反過來的情況,能不能通過某個元素,找到它在list中的編號呢? 看官的需要就是python的方向,你想到,python就做到。 ~~~ >>> la [1, 2, 3, 'a', 'b', 'c', 'qiwsir', 'python'] >>> la.index(3) 2 >>> la.index('a') 3 >>> la.index(1) 0 >>> la.index('qi') #如果不存在,就報錯 Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: 'qi' is not in list >>> la.index('qiwsir') 6 ~~~ list.index(x),x是list中的一個元素,這樣就能夠檢索到該元素在list中的位置了。這才是真正的索引,注意那個英文單詞index。 依然是上一條官方解釋: > list.index(x) > > Return the index in the list of the first item whose value is x. It is an error if there is no such item. 是不是說的非常清楚明白了? 先到這里,下講還繼續有容乃大的list.
                  <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>

                              哎呀哎呀视频在线观看