python中列表和元組的用法以及區(qū)別超詳細(xì)講解
什么是下標(biāo):
在學(xué)習(xí)之前,我們先了解一下什么是下標(biāo):
在Python中,下標(biāo)索引(也稱為索引)用于訪問序列類型(如字符串、列表、元組等)中的單個(gè)元素。Python的索引從 0
開始,即第一個(gè)元素的索引是 0
,第二個(gè)元素的索引是 1
,依此類推。此外,Python還支持負(fù)數(shù)索引,從序列的末尾開始計(jì)數(shù),-1
表示最后一個(gè)元素,-2
表示倒數(shù)第二個(gè)元素,以此類推。
正數(shù)索引:正數(shù)索引從左到右,從 0 開始。
my_list = [10, 20, 30, 40, 50] # 訪問第一個(gè)元素 print(my_list[0]) # 輸出: 10 # 訪問第三個(gè)元素 print(my_list[2]) # 輸出: 30
負(fù)數(shù)索引:負(fù)數(shù)索引從右到左,從 -1 開始。
my_list = [10, 20, 30, 40, 50] # 訪問最后一個(gè)元素 print(my_list[-1]) # 輸出: 50 # 訪問倒數(shù)第二個(gè)元素 print(my_list[-2]) # 輸出: 40
切片(slice):除了單個(gè)元素,Python還支持通過切片訪問序列的子集。
切片的語(yǔ)法是 [start:stop:step]
:
start
:起始索引(包含)。stop
:結(jié)束索引(不包含)。
step
:步長(zhǎng)(可選,默認(rèn)為1)。
my_list = [10, 20, 30, 40, 50] # 獲取索引1到3的元素(不包含索引3) print(my_list[1:3]) # 輸出: [20, 30] # 獲取從開始到索引3的元素 print(my_list[:3]) # 輸出: [10, 20, 30] # 獲取從索引2到末尾的元素 print(my_list[2:]) # 輸出: [30, 40, 50] # 使用步長(zhǎng)2 print(my_list[::2]) # 輸出: [10, 30, 50] # 反轉(zhuǎn)列表 print(my_list[::-1]) # 輸出: [50, 40, 30, 20, 10]
索引越界:如果嘗試訪問一個(gè)不存在的索引,Python會(huì)拋出 IndexError 異常。
my_list = [10, 20, 30] # 嘗試訪問不存在的索引 print(my_list[3]) # 報(bào)錯(cuò): IndexError: list index out of range
總結(jié)一下子吧:
下標(biāo)索引從
0
開始。負(fù)數(shù)索引從
-1
開始,表示從末尾開始計(jì)數(shù)。切片
[start:stop:step]
可以獲取子序列。
索引越界會(huì)拋出 IndexError
。
索引是從0開始的,就先我們零基礎(chǔ)的小白,從0到1的過程。
什么是列表:
在Python中,**列表(List)**是一種有序的、可變的序列類型,用于存儲(chǔ)一組元素。列表用方括號(hào) []
定義,元素之間用逗號(hào)分隔。列表中的元素可以是任意類型(如整數(shù)、字符串、布爾值、甚至其他列表等),并且同一個(gè)列表中的元素可以是不同類型的。
列表的定義語(yǔ)法:
# 定義一個(gè)空列表 empty_list = [] # 定義一個(gè)包含整數(shù)的列表 numbers = [1, 2, 3, 4, 5] # 定義一個(gè)包含不同類型元素的列表 mixed_list = [1, "Hello", 3.14, True] # 定義一個(gè)嵌套列表(列表中的元素也是列表) nested_list = [[1, 2], [3, 4], [5, 6]]
列表有哪些特點(diǎn)呢?
有序性:列表中的元素是有序的,每個(gè)元素都有一個(gè)固定的位置(索引),索引從
0
開始。可變性:列表是可變的(mutable),可以動(dòng)態(tài)地添加、刪除或修改元素。
元素類型多樣性:列表中的元素可以是任意類型,甚至可以是不同類型的混合。
支持重復(fù)元素:列表中可以包含重復(fù)的元素。
示例代碼:
# 定義一個(gè)包含字符串的列表 fruits = ["apple", "banana", "cherry"] # 定義一個(gè)包含不同類型元素的列表 mixed_list = [42, "Python", 3.14, True] # 定義一個(gè)嵌套列表 matrix = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ] # 訪問列表中的元素 print(fruits[0]) # 輸出: apple print(matrix[1][2]) # 輸出: 6
列表的常見操作:
訪問元素:通過索引訪問列表中的元素。
修改元素:通過索引直接修改列表中的元素。
添加元素:使用
append()
、insert()
或extend()
方法。刪除元素:使用
remove()
、pop()
或del
語(yǔ)句。遍歷列表:使用
for
循環(huán)遍歷列表中的元素。
接下來我們將詳細(xì)介紹這些操作:
訪問列表元素
列表中的元素可以通過下標(biāo)索引訪問,索引從 0
開始。
修改列表元素
列表是可變的,可以通過索引直接修改元素。
添加元素
append()
:在列表末尾添加一個(gè)元素。insert()
:在指定位置插入一個(gè)元素。
extend()
:將另一個(gè)列表的所有元素添加到當(dāng)前列表末尾
my_list = [1, 2, 3] # 添加元素 my_list.append(4) # [1, 2, 3, 4] # 在索引1處插入元素 my_list.insert(1, 99) # [1, 99, 2, 3, 4] # 擴(kuò)展列表 my_list.extend([5, 6]) # [1, 99, 2, 3, 4, 5, 6]
刪除元素
remove()
:刪除列表中第一個(gè)匹配的元素。pop()
:刪除并返回指定索引的元素(默認(rèn)刪除最后一個(gè)元素)。
del
:通過索引刪除元素。
my_list = [10, 20, 30, 40, 50] # 刪除值為20的元素 my_list.remove(20) # [10, 30, 40, 50] # 刪除并返回最后一個(gè)元素 last_element = my_list.pop() # last_element = 50, my_list = [10, 30, 40] # 刪除索引1處的元素 del my_list[1] # [10, 40]
查找元素
index()
:返回指定元素的索引。in
關(guān)鍵字:檢查元素是否存在于列表中。
什么是元組:
在Python中,**元組(Tuple)**是一種有序的、不可變的序列類型,用于存儲(chǔ)一組元素。元組用圓括號(hào) ()
定義,元素之間用逗號(hào)分隔。元組與列表類似,但元組是不可變的(immutable),這意味著一旦創(chuàng)建,就不能修改元組中的元素。
元組的定義語(yǔ)法:
# 定義一個(gè)空元組 empty_tuple = () # 定義一個(gè)包含整數(shù)的元組 numbers = (1, 2, 3, 4, 5) # 定義一個(gè)包含不同類型元素的元組 mixed_tuple = (1, "Hello", 3.14, True) # 定義一個(gè)嵌套元組(元組中的元素也是元組) nested_tuple = ((1, 2), (3, 4), (5, 6))
元組的特點(diǎn):
元組的常見操作:
訪問元組元素:
元組中的元素可以通過下標(biāo)索引訪問,索引從 0
開始
元組的切片
元組支持切片操作,可以獲取子元組。
元組的遍歷
可以使用 for
循環(huán)遍歷元組中的每個(gè)元素。
元組與列表有什么區(qū)別:
1. 可變性
列表(List):是可變的(mutable),可以動(dòng)態(tài)地添加、刪除或修改元素。
元組(Tuple):是不可變的(immutable),一旦創(chuàng)建,就不能修改元組中的元素。
示例:
# 列表是可變的 my_list = [1, 2, 3] my_list[1] = 99 # 修改元素 my_list.append(4) # 添加元素 print(my_list) # 輸出: [1, 99, 3, 4] # 元組是不可變的 my_tuple = (1, 2, 3) my_tuple[1] = 99 # 報(bào)錯(cuò): TypeError: 'tuple' object does not support item assignment
2. 語(yǔ)法
列表:用方括號(hào)
[]
定義。元組:用圓括號(hào)
()
定義。
# 列表 my_list = [1, 2, 3] # 元組 my_tuple = (1, 2, 3)
3. 性能
列表:由于列表是可變的,它的存儲(chǔ)和操作(如添加、刪除元素)會(huì)占用更多的內(nèi)存和計(jì)算資源。
元組:由于元組是不可變的,它的存儲(chǔ)和訪問速度比列表更快,適合存儲(chǔ)不需要修改的數(shù)據(jù)。
淺淺總結(jié)一下吧:
總結(jié)
到此這篇關(guān)于python中列表和元組的用法以及區(qū)別的文章就介紹到這了,更多相關(guān)python的列表和元組用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python推導(dǎo)式之字典推導(dǎo)式和集合推導(dǎo)式使用體驗(yàn)
這篇文章主要為大家介紹了Python推導(dǎo)式之字典推導(dǎo)式和集合推導(dǎo)式使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06Python3實(shí)現(xiàn)取圖片中特定的像素替換指定的顏色示例
這篇文章主要介紹了Python3實(shí)現(xiàn)取圖片中特定的像素替換指定的顏色,涉及Python3針對(duì)圖片文件的讀取、轉(zhuǎn)換、生成等相關(guān)操作技巧,需要的朋友可以參考下2019-01-01解決Python paramiko 模塊遠(yuǎn)程執(zhí)行ssh 命令 nohup 不生效的問題
這篇文章主要介紹了解決Python paramiko 模塊遠(yuǎn)程執(zhí)行ssh 命令 nohup 不生效的問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07Python實(shí)現(xiàn)命令行通訊錄實(shí)例教程
這篇文章主要介紹怎樣編寫了一段命令行通訊錄的小程序。下面是編寫的思路以及代碼,歡迎感興趣的同學(xué)交流探討。2016-08-08修改Python的pyxmpp2中的主循環(huán)使其提高性能
這篇文章主要介紹了修改Python的pyxmpp2中的主循環(huán)使其提高性能,pyxmpp2是Python中使用需XMPP協(xié)議的一個(gè)常用工具,要的朋友可以參考下2015-04-04flask利用flask-wtf驗(yàn)證上傳的文件的方法
這篇文章主要介紹了flask利用flask-wtf驗(yàn)證上傳的文件的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01