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

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

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

Python 中的列表是什么?給初學(xué)者的定義

編程中的數(shù)組是一個(gè)有序的項(xiàng)目集合,所有的項(xiàng)目都需要是相同的數(shù)據(jù)類型。然而,與其它編程語言不同,數(shù)組在 Python 中不是一個(gè)內(nèi)置的數(shù)據(jù)結(jié)構(gòu)。Python 使用列表取代傳統(tǒng)的數(shù)組。

列表本質(zhì)上是動(dòng)態(tài)數(shù)組,是 Python 中最常見的和最強(qiáng)大的數(shù)據(jù)結(jié)構(gòu)之一。你可以把它們想象成有序的容器。它們將同類相關(guān)的數(shù)據(jù)存儲(chǔ)和組織在一起。存儲(chǔ)在一個(gè)列表中的元素可以是任何數(shù)據(jù)類型。可以有整數(shù)列表、浮點(diǎn)數(shù)列表、字符串列表,以及任何其它內(nèi)置 Python 數(shù)據(jù)類型的列表。

盡管列表有可能只容納相同數(shù)據(jù)類型的項(xiàng)目,但它們比傳統(tǒng)的數(shù)組更靈活。這意味著在同一個(gè)列表中可以有各種不同的數(shù)據(jù)類型。列表有 0 個(gè)或更多的項(xiàng)目,這意味著也可以有空的列表。在一個(gè)列表中,也可以有重復(fù)的值。值之間用逗號(hào)隔開,用方括號(hào) [] 把值括起來。

如何在 Python 中創(chuàng)建列表

要?jiǎng)?chuàng)建一個(gè)新的列表,首先給這個(gè)列表起一個(gè)名字。然后添加賦值運(yùn)算符(=)和一對(duì)有開頭和結(jié)尾的方括號(hào)。在方括號(hào)內(nèi)添加你希望列表包含的值。

#創(chuàng)建一個(gè)包含名字的新列表
names = ["Jimmy", "Timmy", "Kenny", "Lenny"]

#將列表打印到控制臺(tái)
print(names)

#輸出
#['Jimmy', 'Timmy', 'Kenny', 'Lenny']

在 Python 中列表是如何被索引的

列表為每個(gè)項(xiàng)目保持一個(gè)順序。

集合中的每個(gè)項(xiàng)目都有一個(gè)自己的索引號(hào),你可以用它來訪問這個(gè)項(xiàng)目本身。

Python(以及其它現(xiàn)代編程語言)中的索引從 0 開始,列表中的每一項(xiàng)的索引逐個(gè)增加。

例如,前面創(chuàng)建的列表有 4 個(gè)值:

names = ["Jimmy", "Timmy", "Kenny", "Lenny"]
  • 列表中的第一個(gè)值,“Jimmy”,索引為 0。
  • 列表中的第二個(gè)值,“Timmy”,索引為 1。
  • 列表中的第三個(gè)值,“Kenny”,索引為 2。
  • 列表中的第四個(gè)值,“Lenny”,索引為 3。

要通過索引號(hào)訪問列表中的一個(gè)元素,首先要寫出列表的名稱,然后在方括號(hào)中寫出該元素索引,這是一個(gè)整數(shù)。

例如,如果你想訪問索引為 2 的元素,你應(yīng)該這樣做:

names = ["Jimmy", "Timmy", "Kenny", "Lenny"]

print(names[2])

#output
#Kenny

Python 中的列表是可變的

在 Python 中,當(dāng)對(duì)象是可變的時(shí)候,這意味著一旦它們被創(chuàng)建,其值就可以被改變。列表是可變的對(duì)象,所以在它們被創(chuàng)建后,你可以更新和改變它們。列表也是動(dòng)態(tài)的,意味著它們可以在程序的整個(gè)生命周期中增長(zhǎng)和縮小。可以從現(xiàn)有的列表中刪除項(xiàng)目,也可以給現(xiàn)有的列表添加新的項(xiàng)目。

有一些內(nèi)置的方法用于從列表中添加和刪除項(xiàng)目。例如,要添加項(xiàng)目,有 .append()、.insert() 和 .extend() 方法。要?jiǎng)h除項(xiàng)目,有 .remove()、.pop() 和 .pop(index) 方法。

.append() 方法的作用

.append() 方法在一個(gè)已經(jīng)存在的列表的末尾添加一個(gè)額外的元素。

語法看起來像這樣:

list_name.append(item)

讓我們把它分解一下:

  • list_name 是你給列表起的名字。
  • .append() 是列表方法,用于在 list_name 的末尾添加一個(gè)項(xiàng)目。
  • item 是你要添加的指定的單獨(dú)項(xiàng)目。

使用 .append() 時(shí),原始列表被修改,不創(chuàng)建新的列表。如果你想在先前創(chuàng)建的列表中添加一個(gè)額外的名字,你可以這樣做:

names = ["Jimmy", "Timmy", "Kenny", "Lenny"]

#在列表的末尾添加名字 Dylan
names.append("Dylan")

print(names)

#output
#['Jimmy', 'Timmy', 'Kenny', 'Lenny', 'Dylan']

.append() 和 .insert() 方法之間有什么區(qū)別

這兩個(gè)方法的區(qū)別是:.append() 在列表的末尾添加一個(gè)項(xiàng)目,而 .insert() 在列表的指定位置插入一個(gè)項(xiàng)目。正如你在上一節(jié)看到的,.append() 將把你作為參數(shù)傳遞給函數(shù)的項(xiàng)目始終添加到列表的末尾。如果你不想只是將項(xiàng)目添加到列表的末尾,你可以用 .insert() 指定你想添加的位置。

一般的語法是這樣的:

list_name.insert(position,item)

讓我們把它分解一下:

  • list_name 是列表的名稱。
  • .insert() 是列表方法,用于在列表中插入一個(gè)項(xiàng)目。
  • position 是該方法的第一個(gè)參數(shù)。它總是一個(gè)整數(shù)——具體地說,它是你希望新項(xiàng)目被放置的位置的索引號(hào)。
  • item 是該方法的第二個(gè)參數(shù)。在這里你指定你想添加到列表中的新項(xiàng)目。

例如,假設(shè)你有以下的編程語言列表:

programming_languages = ["JavaScript", "Java", "C++"]

print(programming_languages)

#output
#['JavaScript', 'Java', 'C++']

如果你想在列表的開始插入 “Python”,作為列表的一個(gè)新項(xiàng),你可以使用 .insert() 方法,并指定位置為 0(記住,列表的第一個(gè)值的索引總是 0)。

programming_languages = ["JavaScript", "Java", "C++"]

programming_languages.insert(0, "Python")

print(programming_languages)

#output
#['Python', 'JavaScript', 'Java', 'C++']

如果你想讓 “JavaScript” 成為列表中的第一個(gè)項(xiàng)目,然后添加 “Python” 作為新的項(xiàng)目,你會(huì)指定位置為 1:

programming_languages = ["JavaScript", "Java", "C++"]

programming_languages.insert(1,"Python")

print(programming_languages)

#output
#['JavaScript', 'Python', 'Java', 'C++']

與 .append() 方法相比,.insert() 方法給了你更多的靈活性,前者只在列表的末尾添加一個(gè)新項(xiàng)目。

.append() 和 .extend() 方法之間有什么區(qū)別

如果你想一次向列表中添加多個(gè)項(xiàng)目,而不是一次添加一個(gè),怎么辦?

你可以使用 .append() 方法在一個(gè)列表的末尾添加多個(gè)項(xiàng)目。

假設(shè)你有一個(gè)只包含兩種編程語言的列表:

programming_languages = ["JavaScript", "Java"]

print(programming_languages)

#output
#['JavaScript', 'Java']

然后你想在它的最后再增加兩種語言。

在這種情況下,你傳遞一個(gè)包含你想添加的兩個(gè)新值的列表,作為 .append() 的一個(gè)參數(shù):

programming_languages = ["JavaScript", "Java"]

#在列表的末尾添加兩個(gè)新項(xiàng)目
programming_languages.append(["Python","C++"])

print(programming_languages)

#output
#['JavaScript', 'Java', ['Python', 'C++']]

如果你仔細(xì)看看上面的輸出,['JavaScript', 'Java', ['Python', 'C++']],你會(huì)發(fā)現(xiàn)一個(gè)新的列表被添加到已經(jīng)存在的列表的末尾。

所以,.append() 在一個(gè)列表中添加了一個(gè)列表。列表是對(duì)象,當(dāng)你使用 .append() 將另一個(gè)列表添加到一個(gè)列表中時(shí),新的項(xiàng)目將作為一個(gè)單獨(dú)的對(duì)象(項(xiàng)目)被添加。

假設(shè)你已經(jīng)有兩個(gè)列表,像這樣:

names = ["Jimmy", "Timmy"]
more_names = ["Kenny", "Lenny"]

如果想把兩個(gè)列表的內(nèi)容合二為一,把 more_names 的內(nèi)容加入到 names 中,會(huì)怎么樣?

當(dāng) .append() 方法被用于此目的時(shí),另一個(gè)列表會(huì)在 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() 通過將對(duì)象追加到最后,將新的元素作為另一個(gè)列表添加。要真正將列表連接(添加)在一起,并將一個(gè)列表中的所有項(xiàng)目合并到另一個(gè)列表,你需要使用 .extend() 方法。

一般的語法是這樣的:

list_name.extend(iterable/other_list_name)

讓我們把它分解一下:

  • list_name 是其中一個(gè)列表的名稱。
  • .extend() 是將一個(gè)列表的所有內(nèi)容添加到另一個(gè)列表的方法。
  • iterable 可以是任何可迭代的東西,比如另一個(gè)列表,例如 another_list_name。在這種情況下,another_list_name 是一個(gè)列表,它將與 list_name 連接,其內(nèi)容將作為單獨(dú)的項(xiàng)目被逐一添加到 list_name 的末尾。

因此,拿前面的例子來說,當(dāng) .append() 被替換為 .extend() 時(shí),輸出結(jié)果將是這樣的:

names = ["Jimmy", "Timmy"]
more_names = ["Kenny", "Lenny"]

names.extend(more_names)

print(names)

#output
#['Jimmy', 'Timmy', 'Kenny', 'Lenny']

當(dāng)我們使用 .extend() 時(shí),名字列表得到擴(kuò)展,其長(zhǎng)度增加了 2。

.extend() 的工作方式是,它將一個(gè)列表(或其他可迭代的)作為參數(shù),對(duì)每個(gè)元素進(jìn)行迭代,然后將可迭代的每個(gè)元素添加到列表中。.append() 和 .extend() 之間還有一個(gè)區(qū)別。

當(dāng)你想添加一個(gè)字符串時(shí),如前面所見,.append() 將整個(gè)單一項(xiàng)目添加到列表的末尾:

names = ["Jimmy", "Timmy", "Kenny", "Lenny"]

#將名字 Dylan 添加到列表的末尾
names.append("Dylan")

print(names)

#output
#['Jimmy', 'Timmy', 'Kenny', 'Lenny', 'Dylan']

如果你用 .extend() 將一個(gè)字符串添加到一個(gè)列表的末尾,那么字符串中的每個(gè)字符都會(huì)作為一個(gè)單獨(dú)的項(xiàng)目被添加到列表中。

這是因?yàn)樽址强傻?,?.extend() 是對(duì)傳遞給它的可迭代參數(shù)進(jìn)行迭代。

因此,上面的例子看起來將是像這樣的:

names = ["Jimmy", "Timmy", "Kenny", "Lenny"]

#給 .extend() 傳遞一個(gè)字符串(可迭代的)
names.extend("Dylan")

print(names)

#output
#['Jimmy', 'Timmy', 'Kenny', 'Lenny', 'D', 'y', 'l', 'a', 'n']

總而言之

.append() 方法用于在現(xiàn)有列表的末尾添加一個(gè)項(xiàng)目,而不創(chuàng)建一個(gè)新的列表。

當(dāng)它用于將一個(gè)列表添加到另一個(gè)列表時(shí),它在一個(gè)列表中創(chuàng)建一個(gè)列表。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

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

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

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

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

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

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

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

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

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

    python下載的庫(kù)包存放路徑

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

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

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

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

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

    pandas中ix的使用詳細(xì)講解

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

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

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

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

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

最新評(píng)論