在編程中,列表可能與數組一樣有用的數據結構。 什麼是列表,如何創建它們? 如何在 Python 中使用列表? 您將從我們的文章中了解到這一點。
Python 中的列表是什麼?
列表可以部分地用數組來標識,但列表的區別和優勢(否則也稱為列表)是它們可以組合不同的數據類型。 也就是說,列表為存儲任何對象序列開闢了更多可能性。 稱為列表的變量包含對內存中結構的引用,該結構包含對替代結構的引用。
Python 中的列表是混合類型的對象的有序集合,可以修改並且其對象可能不同。
這是什麼意思? 讓我們詳細看一下定義。
列表的大小可以更改、縮小、添加新行。 您還可以更改列表的整個結構。 請記住,每次使用列表中的方法時,都會更改原始列表,而不是副本。
為了更清楚起見,您可以將 Python 中的列表視為需要在商店中購買的產品列表。 如果在製定購物計劃時,所有必需的項目都位於一個在另一個之下,並且每個項目都有自己的行,那麼 Python 中的清單包含用逗號分隔的所有元素並用方括號括起來,以便 Python 可以理解此處列出了一份清單。 元素用引號括起來。 這是一個強制性條件,因為每個元素都是單獨的一行。
創建列表的方法
繼續經典示例,讓我們創建一個列表,我們將在未來使用和修改。 有幾種方法可以生成列表。
其中之一是應用程序 內置函數 list( ). 為此,您需要處理任何可以迭代的對象(字符串、元組或現有列表)。 在這種情況下,一個字符串。
這是最後會發生的事情:
>>> list('list') ['c', 'n', 'i', 'c', 'o', 'to']
第二個例子表明列表可以包含無限數量的非常不同的對象。 此外,列表可以保持為空。
>>> s = [] # 空列表 >>> l = ['s', 'p', ['isok'], 2] >>> s [] >>> l ['s', 'p' , ['isok'], 2]
接下來,第三種形成列表的方式是所謂的 列表生成器.
列表生成器是用於創建列表的語法結構。 它類似於 for 循環。
>>> c = [c * 3 for c in 'list'] >>> c ['llll', 'iii', 'sss', 'ttt']
它還可以用於創建更龐大的結構:
>>> c = [c * 3 for c in 'list' if c != 'i'] >>> c ['lll', 'sss', 'ttt'] >>> c = [c + d for c in 'list' if c != 'i' for d in 'spam' if d != 'a'] >>> c ['ls', 'lp', 'lm', 'ss', 'sp' , 'sm', 'ts', 'tp', 'tm']
但是,在編譯多個列表時,這種生成方法並不總是有效的。 因此,建議使用 for 循環來生成列表。
如果您需要引用列表中的任何元素,則使用索引。 每個元素都有自己的索引。
索引是列表中元素的編號。
如果要使用重複的相同元素填充列表,則使用 * 符號。 例如,您需要在列表中添加三個相同的數字:[100] * 3。
列出函數
功能 ——這也許是 Python 相對於其他編程語言的主要優勢。 基本的內置函數可以應用於列表。
考慮其中最受歡迎的:
- 列表(範圍()) – 如果任務是創建一個順序列表,則使用範圍函數。 該函數有以下形式:
- 範圍(結束)。 當需要創建從零到有限數的列表時使用它。
- 範圍(開始,結束)。 指定了開始和結束編號。
- 範圍(開始,結束,步驟)。 step 參數指定選擇特性。 例如,如果您需要從 1 到 21 的序列中選擇每五個數字,則生成的列表將如下所示:[10,15]。
range 函數可以顯著減少代碼量。
- 亞麻(清單) - 允許您找出列表中有多少元素。
- 排序(列表,[鍵]) – 按升序對列表中的對象進行排序。
- 最大值(列表) – 返回最大的元素。
- 分鐘(列表) – 相反函數 – 允許您返回具有最小值的元素。
您還可以使用其他內置函數:
- 列表(元組) – 將元組對象轉換為列表。
- 總和(列表) – 如果所有值都是數字,則對列表中的所有元素求和,適用於整數和小數。 然而,她並不總是做對。 如果列表中有非數字元素,該函數將拋出錯誤:“TypeError: unsupported operand type(s) for +: 'int' and 'str'”。
列出方法
讓我們回到我們在商店中購買的商品列表,並將其命名為 shoplist:
購物清單 = []
接下來,考慮列出方法:
- 附加(項目) – 在它的幫助下,您可以將元素添加到列表中。 在這種情況下,新元素將位於末尾。
讓我們用正確的產品填寫我們的新清單:
shoplist.append(麵包)
shoplist.append(牛奶)
- 名單。延長(A) - 添加“列表到列表”。 此功能可以節省時間,因為您可以同時添加多個項目。 假設我們已經有一個水果列表,我們需要將它們添加到主列表中。
shoplist.extend(水果)
- 插入(索引,項目) – 在具有指定索引的元素上插入指定索引之前的指定值。
- lcount(項目) – 顯示元素的重複次數。
- 名單。消除(項目) 是相反的函數 名單。附加 (x). 它可用於刪除任何元素。 如果選中的項目不在列表中,則報錯。
- 流行([索引]) – 移除選中的元素並以同樣的方式返回。 如果未指定元素,則從列表中刪除最後一個元素。
- 排序([鍵]) – 將列表中的元素按升序排列,但您也可以指定一個函數。
- 索引(項目) – 顯示第一個選定元素的索引。
- 您可以使用方法展開列表,即鏡像其所有元素 反向(列表). 最後一個元素成為第一個元素,倒數第二個元素成為第二個元素,依此類推。
- 使用命令創建列表的副本 複製(列表).
- 深拷貝(列表) – 深度複製。
- 使用該方法刪除所有列表元素 清晰的列表).
值得注意的是,列表方法與字符串方法的不同之處在於它們立即改變列表,即不需要返回執行結果。
>>> l = [1, 2, 3, 5, 7] >>> l.sort() >>> l [1, 2, 3, 5, 7] >>> l = l.sort() > >> 打印(l) 無
以下是使用列表的示例:
>>> a = [66.25, 333, 333, 1, 1234.5] >>> print(a.count(333), a.count(66.25), a.count('x')) 2 1 0 >>> a.insert(2, -1) >>> a.append(333) >>> a [66.25, 333, -1, 333, 1, 1234.5, 333] >>> a.index(333) 1 >> > a.remove(333) >>> a [66.25, -1, 333, 1, 1234.5, 333] >>> a.reverse() >>> a [333, 1234.5, 1, 333, -1, 66.25 ] >>> a.sort() >>> a [-1, 1, 66.25, 333, 333, 1234.5]