最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python學(xué)習(xí)之列表和元組的使用詳解

 更新時間:2022年10月28日 17:02:30   作者:夢想橡皮擦  
如果說在Python語言中找一個最優(yōu)秀的數(shù)據(jù)類型,那無疑是列表,如果要在推薦一個,那我選擇元組。本篇文章我們的重心會放在列表上,元組可以看成不能被修改的列表,感興趣的可以了解一下

列表和元組簡介

如果說在 Python 語言中找一個最優(yōu)秀的數(shù)據(jù)類型,那無疑是列表,如果要在推薦一個,那我選擇元組,本篇博客我們的重心會放在列表上,元組可以看成不能被修改的列表,所以作為贈品 進(jìn)行學(xué)習(xí)即可。

列表是一種非常靈活的數(shù)據(jù)結(jié)構(gòu),可以彌補(bǔ)前文字符串類型的很多不足。

正式學(xué)習(xí)前,還需要記住兩個英文單詞,列表(list),元組 (tuple)。

列表學(xué)習(xí)要點

先看一遍列表定義:

列表是可變序列,也是一種可存儲任意數(shù)據(jù)類型的容器,用中括號([])表示開始和結(jié)束,內(nèi)部各元素使用英文逗號(,)分隔,每個元素都可稱為項目,并且每個元素都有一個索引,也被稱為下標(biāo)。

列表的聲明語法

聲明一個列表,可以參考下述幾種格式。

使用空中括號 [] 聲明一個空列表

my_list = []
print(my_list)

聲明包含一個元素的列表

my_list = [1]
print(my_list)

聲明包含多個元素的列表

my_list = [1,2]
print(my_list)

聲明包含多個不同數(shù)據(jù)類型元素的列表

my_list = [1,'a',True]
print(my_list)

聲明一個列表中包含列表

my_list = [1,['a'],[True,1,1]]
print(my_list)

列表的讀取

讀取列表中最重要的概念是下標(biāo),也叫做位置或者索引。下標(biāo)從 0 開始計數(shù),即列表內(nèi)第一項元素的索引是 0,例如下述代碼,讀取數(shù)字 2。

my_list = [1,2,3,4,5]
print(my_list[1]) # 數(shù)字2所在的下標(biāo)為1

列表操作

列表是一個動態(tài)容器,其支持對其元素的增加,刪除,修改,查詢,合并等操作,用到的都是字典對象的方法,基本操作的方法名如下所示:

  • append():末尾追加元素;
  • extend():末尾追加列表,也可以理解為兩個列表合并;
  • insert():在指定位置插入元素;
  • copy():列表復(fù)制;
  • clear():清空列表;
  • count():統(tǒng)計列表指定元素個數(shù);
  • pop():刪除并返回指定下標(biāo)對應(yīng)的元素;
  • remove():刪除列表中指定元素;
  • index():獲取指定元素的下標(biāo);
  • reverse():反轉(zhuǎn)元素;
  • sort():對列表元素進(jìn)行排序。

列表元素添加方法

從上述清單中,可以查看到列表追加元素,有兩種辦法可以實現(xiàn),其一是使用 append() 方法,其二是使用 insert() 方法,示例代碼如下所示:

my_list = [1,2,3,4,5]
my_list.append(888)
my_list.insert(1,666)
print(my_list)

對比一下上述兩個方法的差異,可以看到 append() 僅能在里列表末尾追加元素,而 insert() 方法可以在任意位置插入元素,即 insert() 方法的第一個參數(shù)為索引,表示插入位置。

列表元素查找方法

在列表中查找某一元素,使用 index() 方法實現(xiàn),該方法的語法格式如下所示:

my_list.index(value,[start[,stop]])

其中 my_list 是待查找目標(biāo)列表,value 表示待查找的值,startstop 為可選參數(shù),表示開始查找的索引值和結(jié)束查找的索引值,該方法當(dāng)查找到元素后,會返回第一個找到的元素索引位置,例如下述代碼,會返回 3

my_list = [1,2,3,4,5]
ret = my_list.index(4)
print(ret)

如果該方法沒有在目標(biāo)列表中找到元素,會報錯,錯誤類型為 ValueError。

index() 方法外,列表的讀取其實也是元素查找方式,例如讀取下標(biāo) 2 的元素,代碼如下:

my_list = [1,2,3,4,5]
ret = my_list[2]
print(ret)

還可以使用成員運算符 in,對列表進(jìn)行判斷,關(guān)于成員操作符的更多知識,后期總結(jié)運算符的時候,會詳細(xì)說明。以下代碼會返回 True,即表示數(shù)字 2 在列表中。

my_list = [1,2,3,4,5]
ret = 2 in my_list
print(ret)

在列表中還有一個重要知識點,即列表切片,學(xué)習(xí)該知識點需要先牢牢掌握列表按索引讀取相關(guān)語法,切片的語法格式如下:

my_list = [1,2,3,4,5]
ret = my_list[1:3:2]
print(ret)

可以看到上述第二行代碼,在原列表讀取的規(guī)則之上,格式變?yōu)榱?[1:3:2],將其轉(zhuǎn)換為中文語法說明如下所示:

my_list[起始索引:結(jié)束索引:步長]

使用切片的時候,英文冒號不能缺少,起始索引為必選項,結(jié)束索引和步長為可選項。

如果理解困難,最好的辦法就是反復(fù)用代碼校驗。

# 缺省結(jié)束索引,默認(rèn)獲取到列表結(jié)尾元素
my_list = [1,2,3,4,5,6,7,8,9,10]
ret = my_list[1:]
print(ret) # 輸出 [2, 3, 4, 5, 6, 7, 8, 9, 10]

# 缺少步長,默認(rèn)按照索引+1解決,同時不包含結(jié)束索引代表的元素
my_list = [1,2,3,4,5,6,7,8,9,10]
ret = my_list[1:5]
print(ret) # 輸出 [2, 3, 4, 5]

# 步長設(shè)置為2,表示索引每次+2
my_list = [1,2,3,4,5,6,7,8,9,10]
ret = my_list[1:6:2]
print(ret) # 輸出 [2, 4, 6]

上述代碼如何理解已經(jīng)在注釋中進(jìn)行說明,重點要掌握的切片知識點整理如下:

一首打油詩送給大家~

切片不能丟冒號 結(jié)束步長可不要 默認(rèn)索引都加一 左閉右開要牢記

列表元素的修改和刪除

前文已經(jīng)掌握了列表的讀取,將讀取到的元素重新賦值就是列表的修改,例如下述代碼。

my_list = [1,2,3,4,5,6,7,8,9,10]
my_list[1] = 666
print(my_list)

列表元素刪除 在 Python 中,提出了多種列表元素刪除的方式,本小節(jié)學(xué)習(xí)三個列表元素刪除的方法,即 clear(),pop(),remove(),除此之外還可以使用 del() 函數(shù)對列表元素進(jìn)行刪除。

my_list = [1,2,3,4,5,6,7,8,9,10]
my_list[1] = 666
my_list.clear() # 列表清空
print(my_list)

使用 pop() 方法刪除列表元素,默認(rèn)從尾部刪除,并返回被刪除的元素。

my_list = [1,2,3,4,5,6,7,8,9,10]
my_list[1] = 666
ret = my_list.pop()
print(my_list) # 刪除最后一項
print(ret) # 返回被刪除的元素

pop() 方法中可以傳遞一個 index 值,該值表示下標(biāo)值,即刪除指定位置的元素,與之對應(yīng)的是 remove() 方法的參數(shù),該值表示待刪除的目標(biāo)元素,例如在列表中刪除元素 5,使用的代碼如下:

my_list = [1,2,3,4,5,6,7,8,9,10]
my_list[1] = 666
ret = my_list.remove(5)
print(my_list)
print(ret)

測試之后,可以發(fā)現(xiàn) remove() 方法無返回值,并且該方法只刪除第一個匹配到的元素,也就是當(dāng)列表中有多個目標(biāo)元素時,只有最先匹配到的元素被刪除。

del() 函數(shù)可以刪除列表中指定元素,也可以直接刪除列表對象,代碼如下:

# 刪除索引位置為5的元素
my_list = [1,2,3,4,5,6,7,8,9,10]
my_list[1] = 666
del(my_list[5])
print(my_list)


# 刪除整個列表對象
my_list = [1,2,3,4,5,6,7,8,9,10]
my_list[1] = 666
del my_list
print(my_list)

列表元素合并

使用 extend() 方法可以將列表進(jìn)行合并:

my_list1 = [1,2,3]
my_list2 = [666,777,888]
my_list1.extend([666,777,888])
print(my_list1)

注意 extend() 方法不會生成新的列表。

列表合并也可以使用加號(+) 實現(xiàn),該語法會產(chǎn)生一個新的列表。

my_list1 = [1,2,3]
my_list2 = [666,777,888]
my_list = my_list1 + my_list2
print(my_list)

列表元素順序變化

列表排序用到的方法是 sort(),該方法默認(rèn)按照 ASCII 進(jìn)行增序或者減序排列,測試代碼如下所示:

my_list = [4,1,2,6,7,3,8,12,10]
my_list.sort()
print(my_list)

sort() 方法中也有 2 個參數(shù),格式如下:

my_list.sort(key=None,reverse=False)

參數(shù) key 為可選參數(shù),可以傳入一個函數(shù)名,該函數(shù)會作用與列表中的每一項元素,例如將列表中每一項元素都轉(zhuǎn)換為小寫字母。

my_list = ['ABC','CDS','Juejin','YUE']
my_list.sort(key=str.lower)
print(my_list)

sort() 方法會對原列表進(jìn)行排序,如果想生成一個新列表,可以使用 sorted() 函數(shù),代碼如下:

my_list = ['ABC','CDS','Juejin','YUE']
ret = sorted(my_list)
print(ret)

除此之外,還可以使用 reverse() 方法。

my_list = ['ABC','CDS','Juejin','YUE']
my_list.reverse()
print(my_list)

元組學(xué)習(xí)要點

元組定義與列表基本一致,只需要做好如下區(qū)分即可。

  • 元組不能對其包含的元素進(jìn)行修改,即元組不可變;
  • 元組用小括號(())表示。

再次進(jìn)行簡單總結(jié):

元組是不可變序列,也是可以包含任意數(shù)據(jù)類型的容器,用小括號(())表示,元素之間用逗號(,)分隔 。一定要注意的就是不可變序列,不可變的含義是不能對元組進(jìn)行增加,修改,刪除,位置變換等操作。

元組基本知識

聲明一個元組

my_tuple = ()
print(my_tuple)
print(type(my_tuple))

聲明一個只包含 1 個值的元組,要求必須帶一個逗號,否則會按照整數(shù)處理。

my_tuple = (1,)
print(my_tuple)
print(type(my_tuple))

聲明包含多個值的元組:

my_tuple = (1,2,3,4,5,6,[1])
print(my_tuple)
print(type(my_tuple))

元組的基本操作

由于元組對象的方法使用與列表一致,接下來僅對元組進(jìn)行羅列。

  • count():統(tǒng)計元組中元素個數(shù);
  • index():返回指定元素的下標(biāo)。

其余可作用于元組的內(nèi)置函數(shù)如下所示:

  • len():獲取元組元素個數(shù);
  • max():返回元組中最大值;
  • min():返回最小值;
  • tuple():將列表轉(zhuǎn)換為元組;
  • type():返回對象類型;
  • del():刪除整個元組對象,注意不能刪除元組內(nèi)元素;
  • sum():求和。

以上就是Python學(xué)習(xí)之列表和元組的使用詳解的詳細(xì)內(nèi)容,更多關(guān)于Python列表 元組的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python 使用socket傳輸圖片視頻等文件的實現(xiàn)方式

    python 使用socket傳輸圖片視頻等文件的實現(xiàn)方式

    這篇文章主要介紹了python 使用socket傳輸圖片視頻等文件的實現(xiàn)方式,本文給出了實例代碼,需要的朋友可以參考下
    2019-08-08
  • opencv-python圖像增強(qiáng)解讀

    opencv-python圖像增強(qiáng)解讀

    這篇文章主要介紹了opencv-python圖像增強(qiáng)解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • python中使用urllib2獲取http請求狀態(tài)碼的代碼例子

    python中使用urllib2獲取http請求狀態(tài)碼的代碼例子

    這篇文章主要介紹了python中使用urllib2獲取http請求狀態(tài)碼的代碼例子,需要的朋友可以參考下
    2014-07-07
  • 利用Python實現(xiàn)自定義連點器

    利用Python實現(xiàn)自定義連點器

    這篇文章主要介紹了如何利用Python實現(xiàn)自定義連點器,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • 詳解python:time模塊用法

    詳解python:time模塊用法

    這篇文章主要介紹了python:time模塊用法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • python多線程操作實例

    python多線程操作實例

    這篇文章主要介紹了python多線程操作實例,本文先是講解了python多線程的相關(guān)知識、python多線程使用的兩種方法等內(nèi)容,需要的朋友可以參考下
    2014-11-11
  • 用python3 urllib破解有道翻譯反爬蟲機(jī)制詳解

    用python3 urllib破解有道翻譯反爬蟲機(jī)制詳解

    這篇文章主要介紹了python破解網(wǎng)易反爬蟲機(jī)制詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • python爬蟲實戰(zhàn)steam加密逆向RSA登錄解析

    python爬蟲實戰(zhàn)steam加密逆向RSA登錄解析

    今天帶來爬蟲實戰(zhàn)的文章。在挑選游戲的過程中感受學(xué)習(xí),讓你突飛猛進(jìn)。本文主要實現(xiàn)用Python逆向登錄世界上最大的游戲平臺源碼分享,了解steam加密手段有多高明
    2021-10-10
  • 簡析Python的閉包和裝飾器

    簡析Python的閉包和裝飾器

    這篇文章主要為大家詳細(xì)介紹了Python的閉包和裝飾器,何為閉包?何為裝飾器?感興趣的小伙伴們可以參考一下
    2016-02-02
  • 在Python中操作字典之update()方法的使用

    在Python中操作字典之update()方法的使用

    這篇文章主要介紹了在Python中操作字典之update()方法的使用,是Python入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-05-05

最新評論

大竹县| 怀远县| 汉中市| 炉霍县| 高邮市| 泗水县| 亚东县| 普安县| 阿坝县| 北海市| 盐池县| 乐清市| 武川县| 定远县| 洛阳市| 开平市| 汕尾市| 赣州市| 武冈市| 汨罗市| 静安区| 银川市| 隆化县| 措美县| 淳安县| 宝鸡市| 姜堰市| 兴海县| 石阡县| 普宁市| 焉耆| 洛南县| 简阳市| 阿拉善右旗| 太原市| 军事| 区。| 萝北县| 历史| 龙南县| 慈利县|