<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # Python 列表 > 原文: [https://www.programiz.com/python-programming/list](https://www.programiz.com/python-programming/list) #### 在本文中,我們將學習有關 Python 列表,它們如何創建,列表切片,從中添加或刪除元素等所有知識。 Python 提供了一系列通常稱為序列的復合數據類型。 `List`是 Python 中使用最頻繁且用途最廣泛的數據類型之一。 * * * ## 如何建立列表? 在 Python 編程中,通過將所有項目(元素)放在方括號`[]`中并用逗號分隔來創建列表。 它可以具有任意數量的項目,并且它們可以具有不同的類型(整數,浮點數,字符串等)。 ```py # empty list my_list = [] # list of integers my_list = [1, 2, 3] # list with mixed data types my_list = [1, "Hello", 3.4] ``` 一個列表也可以將另一個列表作為項目。 這稱為嵌套列表。 ```py # nested list my_list = ["mouse", [8, 4, 6], ['a']] ``` * * * ## 如何訪問列表中的元素? 我們可以通過多種方式訪問??列表的元素。 ### 列表索引 我們可以使用索引運算符`[]`訪問列表中的項目。 在 Python 中,索引從 0 開始。因此,包含 5 個元素的列表的索引從 0 到 4。 嘗試訪問除這些以外的索引將引發`IndexError`。 索引必須是整數。 我們不能使用`float`或其他類型,這將導致`TypeError`。 使用嵌套索引訪問嵌套列表。 ```py # List indexing my_list = ['p', 'r', 'o', 'b', 'e'] # Output: p print(my_list[0]) # Output: o print(my_list[2]) # Output: e print(my_list[4]) # Nested List n_list = ["Happy", [2, 0, 1, 5]] # Nested indexing print(n_list[0][1]) print(n_list[1][3]) # Error! Only integer can be used for indexing print(my_list[4.0]) ``` **輸出** ```py p o e a 5 Traceback (most recent call last): File "<string>", line 21, in <module> TypeError: list indices must be integers or slices, not float ``` * * * ### 負索引 Python 允許對其序列進行負索引。 索引 -1 表示最后一項,-2 表示倒數第二項,依此類推。 ```py # Negative indexing in lists my_list = ['p','r','o','b','e'] print(my_list[-1]) print(my_list[-5]) ``` 當我們運行上面的程序時,我們將得到以下輸出: ```py e p ``` ![Python list indexing](https://img.kancloud.cn/74/c2/74c2a115787d07ae125565371b02cd3b_1062x450.png "Python list indexing") Python 中的列表索引 * * * ## 如何在 Python 中切片列表? 我們可以使用切片運算符`:`(冒號)訪問列表中的一系列項目。 ```py # List slicing in Python my_list = ['p','r','o','g','r','a','m','i','z'] # elements 3rd to 5th print(my_list[2:5]) # elements beginning to 4th print(my_list[:-5]) # elements 6th to end print(my_list[5:]) # elements beginning to end print(my_list[:]) ``` **輸出**: ```py ['o', 'g', 'r'] ['p', 'r', 'o', 'g'] ['a', 'm', 'i', 'z'] ['p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z'] ``` 通過考慮索引位于元素之間,可以最好地可視化切片,如下所示。 因此,如果要訪問范圍,則需要兩個索引,這些索引將從列表中切出該部分。 ![Element Slicing from a list in Python](https://img.kancloud.cn/c6/71/c67167494338df35b337599dacf6a127_376x119.png "Element Slicing") 從 Python 中的列表進行元素切片 * * * ## 如何更改或添加元素到列表? 列表是可變的,這意味著可以更改它們的元素,而與[字符串](/python-programming/string)或[元組](/python-programming/tuple)不同。 我們可以使用賦值運算符(`=`)更改一個項目或一系列項目。 ```py # Correcting mistake values in a list odd = [2, 4, 6, 8] # change the 1st item odd[0] = 1 print(odd) # change 2nd to 4th items odd[1:4] = [3, 5, 7] print(odd) ``` **輸出**: ```py [1, 4, 6, 8] [1, 3, 5, 7] ``` 我們可以使用`append()`方法將一個項目添加到列表中,或者使用`extend()`方法將多個項目添加到列表中。 ```py # Appending and Extending lists in Python odd = [1, 3, 5] odd.append(7) print(odd) odd.extend([9, 11, 13]) print(odd) ``` **輸出**: ```py [1, 3, 5, 7] [1, 3, 5, 7, 9, 11, 13] ``` 我們還可以使用`+`運算符組合兩個列表。 這也稱為連接。 `*`操作符將列表重復給定的次數。 ```py # Concatenating and repeating lists odd = [1, 3, 5] print(odd + [9, 7, 5]) print(["re"] * 3) ``` **輸出**: ```py [1, 3, 5, 9, 7, 5] ['re', 're', 're'] ``` 此外,我們可以使用`insert()`方法在所需位置插入一項,也可以通過將其壓縮到列表的空切片中來插入多項。 ```py # Demonstration of list insert() method odd = [1, 9] odd.insert(1,3) print(odd) odd[2:2] = [5, 7] print(odd) ``` **輸出**: ```py [1, 3, 9] [1, 3, 5, 7, 9] ``` * * * ## 如何從列表中刪除或刪除元素? 我們可以使用關鍵字`del`從列表中刪除一個或多個項目。 它甚至可以完全刪除列表。 ```py # Deleting list items my_list = ['p', 'r', 'o', 'b', 'l', 'e', 'm'] # delete one item del my_list[2] print(my_list) # delete multiple items del my_list[1:5] print(my_list) # delete entire list del my_list # Error: List not defined print(my_list) ``` **輸出**: ```py ['p', 'r', 'b', 'l', 'e', 'm'] ['p', 'm'] Traceback (most recent call last): File "<string>", line 18, in <module> NameError: name 'my_list' is not defined ``` 我們可以使用`remove()`方法刪除給定項,或使用`pop()`方法刪除給定索引處的項。 如果未提供索引,則`pop()`方法將刪除并返回最后一項。 這有助于我們將列表實現為棧(先進先出數據結構)。 我們也可以使用`clear()`方法清空列表。 ```py my_list = ['p','r','o','b','l','e','m'] my_list.remove('p') # Output: ['r', 'o', 'b', 'l', 'e', 'm'] print(my_list) # Output: 'o' print(my_list.pop(1)) # Output: ['r', 'b', 'l', 'e', 'm'] print(my_list) # Output: 'm' print(my_list.pop()) # Output: ['r', 'b', 'l', 'e'] print(my_list) my_list.clear() # Output: [] print(my_list) ``` **輸出**: ```py ['r', 'o', 'b', 'l', 'e', 'm'] o ['r', 'b', 'l', 'e', 'm'] m ['r', 'b', 'l', 'e'] [] ``` 最后,我們還可以通過為元素切片分配一個空列表來刪除列表中的項目。 ```py >>> my_list = ['p','r','o','b','l','e','m'] >>> my_list[2:3] = [] >>> my_list ['p', 'r', 'b', 'l', 'e', 'm'] >>> my_list[2:5] = [] >>> my_list ['p', 'r', 'm'] ``` * * * ## Python 列表方法 下面列出了 Python 編程中列表對象可用的方法。 可通過`list.method()`對其進行訪問。 上面已經使用了某些方法。 [Python 列表方法](/python-programming/methods/list) + [**`append()`**](/python-programming/methods/list/append) 在列表的末尾添加元素 + [**`extend()`**](/python-programming/methods/list/extend) - 將列表的所有元素添加到另一個列表 + [**`insert()`**](/python-programming/methods/list/insert) - 在定義的索引處插入項目 + [**`remove()`**](/python-programming/methods/list/remove) - 從列表中刪除一個項目 + [**`pop()`**](/python-programming/methods/list/pop) - 刪除并返回給定索引的元素 + [**`clear()`**](/python-programming/methods/list/clear) - 從列表中刪除所有項目 + [**`index()`**](/python-programming/methods/list/index) - 返回第一個匹配項的索引 + [**`count()`**](/python-programming/methods/list/count) - 返回作為參數傳遞的項目數的計數 + [**`sort()`**](/python-programming/methods/list/sort) - 列表中的項目以升序排序 + [**`reverse()`**](/python-programming/methods/list/reverse) - 反轉列表 + [**`copy()`**](/python-programming/methods/list/copy) - 返回列表的淺表副本 Python 列表方法的一些示例: ```py # Python list methods my_list = [3, 8, 1, 6, 0, 8, 4] # Output: 1 print(my_list.index(8)) # Output: 2 print(my_list.count(8)) my_list.sort() # Output: [0, 1, 3, 4, 6, 8, 8] print(my_list) my_list.reverse() # Output: [8, 8, 6, 4, 3, 1, 0] print(my_list) ``` **輸出**: ```py 1 2 [0, 1, 3, 4, 6, 8, 8] [8, 8, 6, 4, 3, 1, 0] ``` * * * ## 列表推導式:創建新列表的優雅方式 列表推導式是從 Python 現有列表創建新列表的一種簡潔明了的方法。 列表推導由方括號內的語句的表達式和[組成。](/python-programming/for-loop) 這是一個列出每項增加 2 的冪的示例。 ```py pow2 = [2 ** x for x in range(10)] print(pow2) ``` **輸出**: ```py [1, 2, 4, 8, 16, 32, 64, 128, 256, 512] ``` 此代碼等效于: ```py pow2 = [] for x in range(10): pow2.append(2 ** x) ``` 列表推導可以選擇包含更多的`for`或[`if`語句](/python-programming/if-elif-else)。 可選的`if`語句可以過濾出新列表的項目。 這里有些例子。 ```py >>> pow2 = [2 ** x for x in range(10) if x > 5] >>> pow2 [64, 128, 256, 512] >>> odd = [x for x in range(20) if x % 2 == 1] >>> odd [1, 3, 5, 7, 9, 11, 13, 15, 17, 19] >>> [x+y for x in ['Python ','C '] for y in ['Language','Programming']] ['Python Language', 'Python Programming', 'C Language', 'C Programming'] ``` * * * ## Python 中的其他列表操作 ### 列表成員資格測試 我們可以使用關鍵字`in`來測試列表中是否存在某項。 ```py my_list = ['p', 'r', 'o', 'b', 'l', 'e', 'm'] # Output: True print('p' in my_list) # Output: False print('a' in my_list) # Output: True print('c' not in my_list) ``` **輸出**: ```py True False True ``` * * * ### 遍歷列表 使用`for`循環,我們可以遍歷列表中的每個項目。 ```py for fruit in ['apple','banana','mango']: print("I like",fruit) ``` **輸出**: ```py I like apple I like banana I like mango ```
                  <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>

                              哎呀哎呀视频在线观看