欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實現(xiàn)向列表或數(shù)組添加元素

 更新時間:2024年09月12日 13:17:23   作者:猰貐的新時代  
Python中的列表是一種動態(tài)數(shù)組,可以存儲不同數(shù)據(jù)類型的元素,并提供多種方法進行元素的添加和刪除,列表是Python中非常靈活和強大的數(shù)據(jù)結(jié)構(gòu),可以通過索引訪問、修改和操作列表中的元素,列表的創(chuàng)建十分簡單,只需使用方括號括起元素,并用逗號分隔

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)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Python實現(xiàn)的選擇排序算法示例

    Python實現(xiàn)的選擇排序算法示例

    這篇文章主要介紹了Python實現(xiàn)的選擇排序算法,結(jié)合實例形式分析了Python選擇排序的概念、原理及簡單實現(xiàn)技巧,需要的朋友可以參考下
    2017-11-11
  • Python3 Tensorlfow:增加或者減小矩陣維度的實現(xiàn)

    Python3 Tensorlfow:增加或者減小矩陣維度的實現(xiàn)

    這篇文章主要介紹了Python3 Tensorlfow:增加或者減小矩陣維度的實現(xiàn),具有好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • python+selenium+chrome批量文件下載并自動創(chuàng)建文件夾實例

    python+selenium+chrome批量文件下載并自動創(chuàng)建文件夾實例

    這篇文章主要介紹了python+selenium+chrome批量文件下載并自動創(chuàng)建文件夾實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • python3 pandas 讀取MySQL數(shù)據(jù)和插入的實例

    python3 pandas 讀取MySQL數(shù)據(jù)和插入的實例

    下面小編就為大家分享一篇python3 pandas 讀取MySQL數(shù)據(jù)和插入的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • python下載的庫包存放路徑

    python下載的庫包存放路徑

    在本篇文章里小編給大家整理的是一篇關于python下載的庫包存放路徑,需要的朋友們可以參考學習下。
    2020-07-07
  • 如何寫好?Python?的?Lambda?函數(shù)

    如何寫好?Python?的?Lambda?函數(shù)

    這篇文章主要介紹了如何寫好?Python?的?Lambda?函數(shù),Lambda?函數(shù)是?Python?中的匿名函數(shù),下面文章通過介紹Lambda?函數(shù)的相關內(nèi)容展開文章主題,需要的小伙伴可以參考一下
    2022-03-03
  • Python優(yōu)雅實現(xiàn)二分查找的示例詳解

    Python優(yōu)雅實現(xiàn)二分查找的示例詳解

    二分查找是一種高效的搜索算法,用于在有序數(shù)組中查找特定元素,本文將介紹二分查找的基本原理,并通過Python代碼進行詳細講解,需要的可以參考一下
    2023-07-07
  • pandas中ix的使用詳細講解

    pandas中ix的使用詳細講解

    這篇文章主要介紹了pandas中ix的使用詳細講解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • Python3 venv搭建輕量級虛擬環(huán)境的步驟(圖文)

    Python3 venv搭建輕量級虛擬環(huán)境的步驟(圖文)

    這篇文章主要介紹了Python3 venv搭建輕量級虛擬環(huán)境的步驟(圖文),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • 詳解Scrapy Redis入門實戰(zhàn)

    詳解Scrapy Redis入門實戰(zhàn)

    這篇文章主要介紹了詳解Scrapy Redis入門實戰(zhàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11

最新評論