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

Python中的列表及其操作方法

 更新時(shí)間:2022年03月28日 10:22:29   作者:西岸賢  
這篇文章主要介紹了Python中的列表及其操作方法,涉及到的方法包括對(duì)列表元素進(jìn)行修改、添加、刪除、排序以及求列表長(zhǎng)度等,此外還介紹了列表的遍歷、數(shù)值列表、切片和元組的一些操作,下文詳細(xì)介紹需要的小伙伴可以參考一下

前言:

本文的主要內(nèi)容是介紹Python中的列表及其方法的使用,涉及到的方法包括對(duì)列表元素進(jìn)行修改、添加、刪除、排序以及求列表長(zhǎng)度等,此外還介紹了列表的遍歷、數(shù)值列表、切片和元組的一些操作,文中附有代碼以及相應(yīng)的運(yùn)行結(jié)果輔助理解。

一、列表簡(jiǎn)介

列表由一系列按特定順序排列的元素組成,它能夠在一個(gè)地方存儲(chǔ)成組的信息,其中元素的個(gè)數(shù)可以只有幾個(gè),也可以有數(shù)百萬(wàn)個(gè)。
在Python中,用方括號(hào)來(lái)表示列表,并用逗號(hào)來(lái)分隔其中的元素,每個(gè)元素用單引號(hào)(也可以是雙引號(hào))括起來(lái)。

下面的代碼就是一個(gè)簡(jiǎn)單的列表示例:

fruits = ['grape', 'apple', 'banana', 'orange', 'pear']

嘗試打印一下列表,代碼如下:

fruits = ['grape', 'apple', 'banana', 'orange', 'pear']
print(fruits)

輸出結(jié)果如下圖:

可以看到,如果簡(jiǎn)單的打印列表,其輸出結(jié)果就包含方括號(hào)、引號(hào)、元素名稱(chēng)和逗號(hào),這不是期待的輸出,下面來(lái)介紹怎么訪(fǎng)問(wèn)列表元素。

二、訪(fǎng)問(wèn)列表元素

列表是一個(gè)有序的集合,因此要訪(fǎng)問(wèn)列表中的任何一個(gè)元素,只要給出列表的名稱(chēng),再給出該元素的索引并將其放在方括號(hào)內(nèi),即可實(shí)現(xiàn)訪(fǎng)問(wèn)。
在Python中,索引是從0開(kāi)始的,元素的索引均是其位置減1。
如果不知道列表的長(zhǎng)度,但要訪(fǎng)問(wèn)最后一個(gè)元素,只要將索引指定為-1,Python即可返回最后一個(gè)列表元素,同理,索引為-2可返回倒數(shù)第二個(gè)列表元素。

下面是訪(fǎng)問(wèn)列表元素的例子:

fruits = ['grape', 'apple', 'banana', 'orange', 'pear']
print("The first element of fruits is "+fruits[0]+".")
print("The second element of fruits is "+fruits[1]+".")
print("The last element of fruits is "+fruits[-1]+".") #訪(fǎng)問(wèn)最后一個(gè)列表元素

輸出結(jié)果如下圖所示:

三、修改、添加和刪除列表元素

1.修改列表元素

修改列表元素只要指定列表名和要修改的元素的索引,再賦值給該元素新值即可。

下面是修改列表元素的例子:

fruits = ['grape', 'apple', 'banana', 'orange', 'pear']
print('Before modify:\nfruits = '+str(fruits))

fruits[1] = 'mango' #修改第二個(gè)元素
print('After modify:\nfruits = '+str(fruits))

輸出結(jié)果如下圖所示:

2.在列表中添加元素

在列表中添加元素有以下兩個(gè)方法:

  • append(value) —— 在列表末尾添加元素。
  • insert(index,value) —— 在列表指定的位置添加元素。

方法append()通過(guò)追加的方式在列表的末尾插入元素,這很方便,但是有時(shí)候需要在列表指定的位置插入某個(gè)元素,這時(shí)就需要用到方法insert(),將元素插入到指定的位置后,原列表中該位置之后的元素索引均加1,該位置之前的元素索引不變。

在列表中添加元素的例子:

fruits = ['grape', 'apple', 'banana', 'orange', 'pear']
print('Original:\nfruits = '+str(fruits))

fruits.append('mango')
print('After append:\nfruits = '+str(fruits))

fruits.insert(2, 'watermelon')
print('After insert:\nfruits = '+str(fruits))

輸出結(jié)果如下圖所示:

3.從列表中刪除元素

從列表中刪除元素有以下三個(gè)方法:

  • del listname[index] —— 從列表中刪除一個(gè)元素,且不再使用。
  • pop(index) —— 從列表中刪除一個(gè)元素,后續(xù)還會(huì)再使用。
  • remove(‘element name’) —— 不知道要從列表中刪除的值所處的位置,但知道要?jiǎng)h除元素的值。

如果要從列表中刪除一個(gè)元素,且不再以任何方式使用它,就使用del語(yǔ)句;如果要在刪除元素后還能繼續(xù)使用它,就使用方法pop();如果只知道要?jiǎng)h除的元素的值,就使用方法remove(),方法remove()只刪除第一個(gè)指定的值,如果要?jiǎng)h除的值可能在列表中出現(xiàn)多次,就需要使用循環(huán)來(lái)判斷是否刪除了所有這樣的值。
刪除掉某一元素后,該元素之后的元素索引均減1,該元素之前的元素索引不變。

下面是從列表中刪除元素的例子:

fruits = ['grape', 'apple', 'watermelon', 'banana', 'orange', 'apple', 'pear', 'mango']
print('Original:\nfruits = '+str(fruits))

del fruits[2] ?#刪除列表的第三個(gè)元素
print('After del:\nfruits = '+str(fruits))

fruit_popped = fruits.pop(-1) ?#刪除列表的最后一個(gè)元素
print('After pop:\nfruits = '+str(fruits))
print('The popped fruit is ' + fruit_popped + '.')

fruit_remove = 'apple'
fruits.remove(fruit_remove) #刪除列表中名為fruit_remove的第一個(gè)元素
print('After remove:\nfruits = '+str(fruits))
print('The removed fruit is ' + fruit_remove + '.')

輸出結(jié)果如下圖所示:

四、對(duì)列表元素排序

對(duì)列表元素排序有以下三個(gè)方法:

  • sort() —— 對(duì)列表進(jìn)行永久性排序。
  • sorted() —— 對(duì)列表進(jìn)行臨時(shí)排序。
  • reverse() —— 反轉(zhuǎn)列表元素的排列順序。

下面是使用sort()對(duì)列表元素排序的例子:

fruits = ['grape', 'apple', 'watermelon', 'banana', 'orange', 'pear', 'mango']
print('原列表:\nfruits = '+str(fruits))

fruits.sort() #按首字母順序
print('順序排列:\nfruits = '+str(fruits))

fruits.sort(reverse=True) #按首字母倒序
print('倒序排列:\nfruits = '+str(fruits))

輸出結(jié)果如下圖所示:

下面是使用sorted()對(duì)列表元素排序的例子:

num = ['1', '8', '6', '4', '9'] #這里的列表元素不加引號(hào)也可
print('原列表:\nnum = '+str(num))

print('臨時(shí)排序:\nnum = '+str(sorted(num))) #臨時(shí)排序
print('再一次輸出原列表:\nnum = '+str(num))

輸出結(jié)果如下圖所示:

下面是使用reverse()對(duì)列表元素排序的例子:

fruits = ['grape', 'apple', 'watermelon', 'banana', 'orange', 'pear', 'mango']
print('原列表:\nfruits = '+str(fruits))

fruits.reverse() #逆向排列列表元素
print('逆向排列:\nfruits = '+str(fruits))

輸出結(jié)果如下圖所示:

五、確定列表長(zhǎng)度

確定列表長(zhǎng)度的方法如下:

  • len() —— 求列表長(zhǎng)度。

下面是確定列表長(zhǎng)度的例子:

fruits = ['grape', 'apple', 'watermelon', 'banana', 'orange', 'pear', 'mango']
print('列表 fruits 的長(zhǎng)度為:'+str(len(fruits)))

num = ['1', '8', '6', '4', '9']
print('列表 num 的長(zhǎng)度為:'+str(len(num)))

輸出結(jié)果如下圖所示:

六、遍歷列表

在Python中,如果需要對(duì)列表中的每個(gè)元素都執(zhí)行相同的操作,可使用for循環(huán)。下面是遍歷整個(gè)列表的例子,注意for循環(huán)中各代碼行的縮進(jìn),縮進(jìn)不同,執(zhí)行的次數(shù)也不同。

fruits = ['grapes', 'apples', 'bananas', 'oranges', 'pears']
for fruit in fruits:
? ? print(fruit)
? ? print('I like '+str(fruit)+'.') #縮進(jìn),列表的長(zhǎng)度是多少,就執(zhí)行多少次
print('There are '+str(len(fruits))+' fruits here.') #不縮進(jìn),for循環(huán)結(jié)束后執(zhí)行,執(zhí)行1次

輸出結(jié)果如下圖所示:

編寫(xiě)for循環(huán)時(shí),用于存儲(chǔ)列表中每個(gè)值的臨時(shí)變量可以指定任何名稱(chēng),一般使用單數(shù)和復(fù)數(shù)式的名稱(chēng)可幫助我們更好地判斷代碼段處理的是單個(gè)列表元素還是整個(gè)列表。

七、創(chuàng)建數(shù)值列表

列表非常適合用于存儲(chǔ)數(shù)字集合,而Python提供了很多工具可幫助我們高效地處理數(shù)字列表,下面來(lái)看怎么創(chuàng)建數(shù)值列表。

1.函數(shù)range()的使用

range(start, end, step length) —— 在start到end這個(gè)左閉右開(kāi)區(qū)間上生成步長(zhǎng)為step length的一系列數(shù)字,含start值但不含end值,如果沒(méi)有參數(shù)step length,默認(rèn)步長(zhǎng)為1。

下面是函數(shù)range()使用的例子:

print('1-5之間步長(zhǎng)為1的輸出:')
for value in range(1,5):
? ? print(value)

print('1-5之間步長(zhǎng)為2的輸出:')
for value in range(1,5,2):
? ? print(value)

輸出結(jié)果如下圖所示:

2.創(chuàng)建數(shù)字列表

range()作為list()的參數(shù),輸出將為一個(gè)數(shù)字列表。當(dāng)然,也可以創(chuàng)建一個(gè)空的列表,然后通過(guò)for循環(huán)將函數(shù)range()生成的數(shù)依次追加到列表中,這樣也可以生成一個(gè)數(shù)字列表。

下面是使用函數(shù)range()創(chuàng)建數(shù)字列表的例子:

nums = list(range(1,5)) #直接使用函數(shù)list()創(chuàng)建列表
print('方法一:nums = '+str(nums))

nums=[] ?#通過(guò)for循環(huán)創(chuàng)建列表
for value in range(1,5):
? ? nums.append(value)
print('方法二:nums = '+str(nums))

輸出結(jié)果如下圖所示:

可以看到,這兩種方法的輸出結(jié)果是一樣的。

3.列表解析

列表解析是將for循環(huán)和創(chuàng)建新元素的代碼合并成一行,并自動(dòng)附加新元素。

下面通過(guò)一個(gè)例子了解列表解析:

squares = []
for value in range(1,11):
? ? squares.append(value**2)
print('一般方法:squares = ' + str(squares))

squares = [value**2 for value in range(1,11)] #列表解析
print('列表解析法:squares = ' + str(squares))

輸出結(jié)果如下圖所示:

由輸出結(jié)果可知,雖然兩者的輸出結(jié)果相同,但是列表解析能夠有效的縮減代碼的行數(shù)。

4.處理數(shù)字列表的函數(shù)應(yīng)用

下面是幾個(gè)專(zhuān)門(mén)用于處理數(shù)字列表的Python函數(shù):

  • min() —— 求列表最小值。
  • max() —— 求列表最大值。
  • sum() —— 求列表元素之和。

下面是這幾個(gè)函數(shù)應(yīng)用的例子:

nums = [value for value in range(1,11)]
print('nums = ' + str(nums))
print('列表nums中的最小值為:' + str(min(nums)))
print('列表nums中的最大值為:' + str(max(nums)))
print('列表nums的所有元素之和為:' + str(sum(nums)))

輸出結(jié)果如下圖所示:

八、切片

創(chuàng)建切片需要指定要使用的第一個(gè)元素和最后一個(gè)元素的索引,與函數(shù)range()類(lèi)似,Python在到達(dá)指定的第二個(gè)索引前面的元素后停止??梢造`活運(yùn)用索引使其從開(kāi)頭訪(fǎng)問(wèn)或訪(fǎng)問(wèn)至列表末尾,甚至從頭至尾復(fù)制列表。

下面是切片應(yīng)用的例子:

fruits = ['grape', 'apple', 'banana', 'orange', 'pear']
print('fruits = '+str(fruits))

print('列表fruits的前三個(gè)元素:'+str(fruits[:3]))
print('列表fruits的后三個(gè)元素:'+str(fruits[-3:]))
print('列表fruits的全部元素:'+str(fruits[:])) #復(fù)制列表

print('遍歷列表fruits的前三個(gè)元素:')
for fruit in fruits[0:3]: ?#遍歷列表fruits的前三個(gè)元素
? ? print(fruit)

輸出結(jié)果如下圖所示:

下面這個(gè)例子用來(lái)區(qū)分切片和列表關(guān)聯(lián)的區(qū)別:

fruits = ['grape', 'apple', 'banana', 'orange', 'pear']
print('Original fruits = '+str(fruits))
fruits_1 = fruits[:] ?#復(fù)制列表

fruits_2 = fruits #列表fruits和fruits_2相關(guān)聯(lián)
fruits.append('mango')
fruits_2.append('watermelon')

print('After append fruits = '+str(fruits))
print('fruits_1 = '+str(fruits_1))
print('fruits_2 = '+str(fruits_2))

輸出結(jié)果如下圖所示:

由輸出結(jié)果可以看到,復(fù)制列表和關(guān)聯(lián)列表的區(qū)別還蠻大的,復(fù)制列表之后,原列表再更改也和已經(jīng)復(fù)制到的列表無(wú)關(guān),但是兩個(gè)列表關(guān)聯(lián)后,無(wú)論哪個(gè)列表變動(dòng)都會(huì)同步到另一個(gè)列表,因?yàn)閮蓚€(gè)變量都指向了同一個(gè)列表。

九、元組

列表非常適合用于存儲(chǔ)在程序運(yùn)行期間可能變化的數(shù)據(jù)集,然而,有時(shí)候我們需要?jiǎng)?chuàng)建一系列不可修改的元素,元組可以滿(mǎn)足這種需求。
Python將不能修改的值稱(chēng)為不可變的,而不可變的列表被稱(chēng)為元組。元組和列表類(lèi)似又有區(qū)別,它使用的是圓括號(hào)而不是方括號(hào)來(lái)標(biāo)識(shí),定義元組后,就可以使用索引像訪(fǎng)問(wèn)列表元素一樣來(lái)訪(fǎng)問(wèn)元組。
在Python中,不能給元組的元素賦值,修改元組的操作是被禁止的,但可以給存儲(chǔ)元組的變量賦值。

下面是元組應(yīng)用的例子:

group = (100, 50)
print('group = '+str(group))
print('打印元組內(nèi)元素:')
print(group[0])
print(group[1]) #打印元組中的各個(gè)元素

print('遍歷元組:')
for element in group: #遍歷元組
? ? print(element)

print('修改元組變量后輸出:')
group = (200, 100) #修改元組變量,給元組賦新值
for element in group:
? ? print(element)

輸出結(jié)果如下圖所示:

總結(jié):

以上就是Python中列表及其操作的所有內(nèi)容了,文中提到的一些方法都是對(duì)列表的簡(jiǎn)單操作,應(yīng)當(dāng)多加練習(xí)牢記,并在之后的編程中熟練使用。

到此這篇關(guān)于Python中的列表及其操作方法的文章就介紹到這了,更多相關(guān)Python列表內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python合并多個(gè)excel的詳細(xì)過(guò)程

    python合并多個(gè)excel的詳細(xì)過(guò)程

    合并需求很多,常見(jiàn)的有相同數(shù)據(jù)結(jié)構(gòu),按行進(jìn)行縱向拼接,下面這篇文章主要給大家介紹了關(guān)于python合并多個(gè)excel的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • python中設(shè)置超時(shí)跳過(guò),超時(shí)退出的方式

    python中設(shè)置超時(shí)跳過(guò),超時(shí)退出的方式

    今天小編就為大家分享一篇python中設(shè)置超時(shí)跳過(guò),超時(shí)退出的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • 簡(jiǎn)單介紹Python中的decode()方法的使用

    簡(jiǎn)單介紹Python中的decode()方法的使用

    這篇文章主要介紹了簡(jiǎn)單介紹Python中的decode()方法的使用,是Python入門(mén)學(xué)習(xí)當(dāng)中必須掌握的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • python 解決Windows平臺(tái)上路徑有空格的問(wèn)題

    python 解決Windows平臺(tái)上路徑有空格的問(wèn)題

    這篇文章主要介紹了python 解決Windows平臺(tái)上路徑有空格的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • 詳解Python的文件處理

    詳解Python的文件處理

    這篇文章主要為大家介紹了Python的文件處理,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12
  • Django框架創(chuàng)建項(xiàng)目的方法入門(mén)教程

    Django框架創(chuàng)建項(xiàng)目的方法入門(mén)教程

    這篇文章主要介紹了Django框架創(chuàng)建項(xiàng)目的方法,結(jié)合實(shí)例形式分析了Django框架管理工具的使用及創(chuàng)建項(xiàng)目的相關(guān)操作技巧,需要的朋友可以參考下
    2019-11-11
  • Python如何處理大數(shù)據(jù)?3個(gè)技巧效率提升攻略(推薦)

    Python如何處理大數(shù)據(jù)?3個(gè)技巧效率提升攻略(推薦)

    這篇文章主要介紹了Python如何處理大數(shù)據(jù)?3個(gè)技巧效率提升攻略,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Python?設(shè)計(jì)模式創(chuàng)建型單例模式

    Python?設(shè)計(jì)模式創(chuàng)建型單例模式

    這篇文章主要介紹了Python?設(shè)計(jì)模式創(chuàng)建型單例模式,即Singleton,單例是一種設(shè)計(jì)模式,應(yīng)用該模式的類(lèi)只會(huì)生成一個(gè)實(shí)例,下文詳細(xì)介紹需要的小伙伴可以參考一下
    2022-02-02
  • 基于Python實(shí)現(xiàn)天天酷跑功能

    基于Python實(shí)現(xiàn)天天酷跑功能

    這篇文章主要介紹了基于Python實(shí)現(xiàn)天天酷跑功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • 在Windows服務(wù)器下用Apache和mod_wsgi配置Python應(yīng)用的教程

    在Windows服務(wù)器下用Apache和mod_wsgi配置Python應(yīng)用的教程

    這篇文章主要介紹了在Windows服務(wù)器下用Apache和mod_wsgi配置Python應(yīng)用的教程,本文選擇以flask框架作為示例,需要的朋友可以參考下
    2015-05-05

最新評(píng)論