Python實現(xiàn)向列表或數(shù)組添加元素
Python 中的列表是什么?給初學者的定義
編程中的數(shù)組是一個有序的項目集合,所有的項目都需要是相同的數(shù)據(jù)類型。然而,與其它編程語言不同,數(shù)組在 Python 中不是一個內(nèi)置的數(shù)據(jù)結(jié)構(gòu)。Python 使用列表取代傳統(tǒng)的數(shù)組。
列表本質(zhì)上是動態(tài)數(shù)組,是 Python 中最常見的和最強大的數(shù)據(jù)結(jié)構(gòu)之一。你可以把它們想象成有序的容器。它們將同類相關的數(shù)據(jù)存儲和組織在一起。存儲在一個列表中的元素可以是任何數(shù)據(jù)類型。可以有整數(shù)列表、浮點數(shù)列表、字符串列表,以及任何其它內(nèi)置 Python 數(shù)據(jù)類型的列表。
盡管列表有可能只容納相同數(shù)據(jù)類型的項目,但它們比傳統(tǒng)的數(shù)組更靈活。這意味著在同一個列表中可以有各種不同的數(shù)據(jù)類型。列表有 0 個或更多的項目,這意味著也可以有空的列表。在一個列表中,也可以有重復的值。值之間用逗號隔開,用方括號 [] 把值括起來。
如何在 Python 中創(chuàng)建列表
要創(chuàng)建一個新的列表,首先給這個列表起一個名字。然后添加賦值運算符(=)和一對有開頭和結(jié)尾的方括號。在方括號內(nèi)添加你希望列表包含的值。
#創(chuàng)建一個包含名字的新列表 names = ["Jimmy", "Timmy", "Kenny", "Lenny"] #將列表打印到控制臺 print(names) #輸出 #['Jimmy', 'Timmy', 'Kenny', 'Lenny']
在 Python 中列表是如何被索引的
列表為每個項目保持一個順序。
集合中的每個項目都有一個自己的索引號,你可以用它來訪問這個項目本身。
Python(以及其它現(xiàn)代編程語言)中的索引從 0 開始,列表中的每一項的索引逐個增加。
例如,前面創(chuàng)建的列表有 4 個值:
names = ["Jimmy", "Timmy", "Kenny", "Lenny"]
- 列表中的第一個值,“Jimmy”,索引為 0。
- 列表中的第二個值,“Timmy”,索引為 1。
- 列表中的第三個值,“Kenny”,索引為 2。
- 列表中的第四個值,“Lenny”,索引為 3。
要通過索引號訪問列表中的一個元素,首先要寫出列表的名稱,然后在方括號中寫出該元素索引,這是一個整數(shù)。
例如,如果你想訪問索引為 2 的元素,你應該這樣做:
names = ["Jimmy", "Timmy", "Kenny", "Lenny"] print(names[2]) #output #Kenny
Python 中的列表是可變的
在 Python 中,當對象是可變的時候,這意味著一旦它們被創(chuàng)建,其值就可以被改變。列表是可變的對象,所以在它們被創(chuàng)建后,你可以更新和改變它們。列表也是動態(tài)的,意味著它們可以在程序的整個生命周期中增長和縮小??梢詮默F(xiàn)有的列表中刪除項目,也可以給現(xiàn)有的列表添加新的項目。
有一些內(nèi)置的方法用于從列表中添加和刪除項目。例如,要添加項目,有 .append()、.insert() 和 .extend() 方法。要刪除項目,有 .remove()、.pop() 和 .pop(index) 方法。
.append() 方法的作用
.append() 方法在一個已經(jīng)存在的列表的末尾添加一個額外的元素。
語法看起來像這樣:
list_name.append(item)
讓我們把它分解一下:
- list_name 是你給列表起的名字。
- .append() 是列表方法,用于在 list_name 的末尾添加一個項目。
- item 是你要添加的指定的單獨項目。
使用 .append() 時,原始列表被修改,不創(chuàng)建新的列表。如果你想在先前創(chuàng)建的列表中添加一個額外的名字,你可以這樣做:
names = ["Jimmy", "Timmy", "Kenny", "Lenny"] #在列表的末尾添加名字 Dylan names.append("Dylan") print(names) #output #['Jimmy', 'Timmy', 'Kenny', 'Lenny', 'Dylan']
.append() 和 .insert() 方法之間有什么區(qū)別
這兩個方法的區(qū)別是:.append() 在列表的末尾添加一個項目,而 .insert() 在列表的指定位置插入一個項目。正如你在上一節(jié)看到的,.append() 將把你作為參數(shù)傳遞給函數(shù)的項目始終添加到列表的末尾。如果你不想只是將項目添加到列表的末尾,你可以用 .insert() 指定你想添加的位置。
一般的語法是這樣的:
list_name.insert(position,item)
讓我們把它分解一下:
- list_name 是列表的名稱。
- .insert() 是列表方法,用于在列表中插入一個項目。
- position 是該方法的第一個參數(shù)。它總是一個整數(shù)——具體地說,它是你希望新項目被放置的位置的索引號。
- item 是該方法的第二個參數(shù)。在這里你指定你想添加到列表中的新項目。
例如,假設你有以下的編程語言列表:
programming_languages = ["JavaScript", "Java", "C++"] print(programming_languages) #output #['JavaScript', 'Java', 'C++']
如果你想在列表的開始插入 “Python”,作為列表的一個新項,你可以使用 .insert() 方法,并指定位置為 0(記住,列表的第一個值的索引總是 0)。
programming_languages = ["JavaScript", "Java", "C++"] programming_languages.insert(0, "Python") print(programming_languages) #output #['Python', 'JavaScript', 'Java', 'C++']
如果你想讓 “JavaScript” 成為列表中的第一個項目,然后添加 “Python” 作為新的項目,你會指定位置為 1:
programming_languages = ["JavaScript", "Java", "C++"] programming_languages.insert(1,"Python") print(programming_languages) #output #['JavaScript', 'Python', 'Java', 'C++']
與 .append() 方法相比,.insert() 方法給了你更多的靈活性,前者只在列表的末尾添加一個新項目。
.append() 和 .extend() 方法之間有什么區(qū)別
如果你想一次向列表中添加多個項目,而不是一次添加一個,怎么辦?
你可以使用 .append() 方法在一個列表的末尾添加多個項目。
假設你有一個只包含兩種編程語言的列表:
programming_languages = ["JavaScript", "Java"] print(programming_languages) #output #['JavaScript', 'Java']
然后你想在它的最后再增加兩種語言。
在這種情況下,你傳遞一個包含你想添加的兩個新值的列表,作為 .append() 的一個參數(shù):
programming_languages = ["JavaScript", "Java"] #在列表的末尾添加兩個新項目 programming_languages.append(["Python","C++"]) print(programming_languages) #output #['JavaScript', 'Java', ['Python', 'C++']]
如果你仔細看看上面的輸出,['JavaScript', 'Java', ['Python', 'C++']],你會發(fā)現(xiàn)一個新的列表被添加到已經(jīng)存在的列表的末尾。
所以,.append() 在一個列表中添加了一個列表。列表是對象,當你使用 .append() 將另一個列表添加到一個列表中時,新的項目將作為一個單獨的對象(項目)被添加。
假設你已經(jīng)有兩個列表,像這樣:
names = ["Jimmy", "Timmy"] more_names = ["Kenny", "Lenny"]
如果想把兩個列表的內(nèi)容合二為一,把 more_names 的內(nèi)容加入到 names 中,會怎么樣?
當 .append() 方法被用于此目的時,另一個列表會在 names 中被創(chuàng)建:
names = ["Jimmy", "Timmy"] more_names = ["Kenny", "Lenny"] #將 more_names 的內(nèi)容添加到 names names.append(more_names) print(names) #output #['Jimmy', 'Timmy', ['Kenny', 'Lenny']]
所以,.append() 通過將對象追加到最后,將新的元素作為另一個列表添加。要真正將列表連接(添加)在一起,并將一個列表中的所有項目合并到另一個列表,你需要使用 .extend() 方法。
一般的語法是這樣的:
list_name.extend(iterable/other_list_name)
讓我們把它分解一下:
- list_name 是其中一個列表的名稱。
- .extend() 是將一個列表的所有內(nèi)容添加到另一個列表的方法。
- iterable 可以是任何可迭代的東西,比如另一個列表,例如 another_list_name。在這種情況下,another_list_name 是一個列表,它將與 list_name 連接,其內(nèi)容將作為單獨的項目被逐一添加到 list_name 的末尾。
因此,拿前面的例子來說,當 .append() 被替換為 .extend() 時,輸出結(jié)果將是這樣的:
names = ["Jimmy", "Timmy"] more_names = ["Kenny", "Lenny"] names.extend(more_names) print(names) #output #['Jimmy', 'Timmy', 'Kenny', 'Lenny']
當我們使用 .extend() 時,名字列表得到擴展,其長度增加了 2。
.extend() 的工作方式是,它將一個列表(或其他可迭代的)作為參數(shù),對每個元素進行迭代,然后將可迭代的每個元素添加到列表中。.append() 和 .extend() 之間還有一個區(qū)別。
當你想添加一個字符串時,如前面所見,.append() 將整個單一項目添加到列表的末尾:
names = ["Jimmy", "Timmy", "Kenny", "Lenny"] #將名字 Dylan 添加到列表的末尾 names.append("Dylan") print(names) #output #['Jimmy', 'Timmy', 'Kenny', 'Lenny', 'Dylan']
如果你用 .extend() 將一個字符串添加到一個列表的末尾,那么字符串中的每個字符都會作為一個單獨的項目被添加到列表中。
這是因為字符串是可迭代的,而 .extend() 是對傳遞給它的可迭代參數(shù)進行迭代。
因此,上面的例子看起來將是像這樣的:
names = ["Jimmy", "Timmy", "Kenny", "Lenny"] #給 .extend() 傳遞一個字符串(可迭代的) names.extend("Dylan") print(names) #output #['Jimmy', 'Timmy', 'Kenny', 'Lenny', 'D', 'y', 'l', 'a', 'n']
總而言之
.append() 方法用于在現(xiàn)有列表的末尾添加一個項目,而不創(chuàng)建一個新的列表。
當它用于將一個列表添加到另一個列表時,它在一個列表中創(chuàng)建一個列表。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python3 Tensorlfow:增加或者減小矩陣維度的實現(xiàn)
這篇文章主要介紹了Python3 Tensorlfow:增加或者減小矩陣維度的實現(xiàn),具有好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05python+selenium+chrome批量文件下載并自動創(chuàng)建文件夾實例
這篇文章主要介紹了python+selenium+chrome批量文件下載并自動創(chuàng)建文件夾實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04python3 pandas 讀取MySQL數(shù)據(jù)和插入的實例
下面小編就為大家分享一篇python3 pandas 讀取MySQL數(shù)據(jù)和插入的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04Python優(yōu)雅實現(xiàn)二分查找的示例詳解
二分查找是一種高效的搜索算法,用于在有序數(shù)組中查找特定元素,本文將介紹二分查找的基本原理,并通過Python代碼進行詳細講解,需要的可以參考一下2023-07-07Python3 venv搭建輕量級虛擬環(huán)境的步驟(圖文)
這篇文章主要介紹了Python3 venv搭建輕量級虛擬環(huán)境的步驟(圖文),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-08-08