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