最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

列表簡介

2022-05-01 22:01 作者:創(chuàng)世十鷹  | 我要投稿

#修改,添加,刪除列表元素? #a = 1;b=2;c=3;? #print(a*b,b*c);前面遺留的問題

#你創(chuàng)建的大多數(shù)列表將是動態(tài)的,意味著創(chuàng)建列表后,將隨著程序運行增刪元素。

#比如,創(chuàng)建一個游戲,玩家射殺從天而降的外星人。為此,可在開始時將一些外星人存儲在列表中,

#然后每當(dāng)外星人被射殺時,都將其從列表中刪除,而每當(dāng)有新的外星人出現(xiàn)在屏幕上時,都將其添加到列表中。

#在整個游戲運行期間,外星人列表的長度將不斷變化。


##修改列表元素##

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

motorcycles = ['honda','yamaha','suzuki'];

print(motorcycles);? ? ? ? ? #['honda', 'yamaha', 'suzuki']

# 修改列表元素 #

motorcycles[0] = 'ducati';

print(motorcycles);? ? ? ? ? #['ducati', 'yamaha', 'suzuki']


#你可以修改任何列表元素的值,而不僅僅是第一個元素的值



##在列表中添加元素##

#列如,你希望游戲中出現(xiàn)新的外星人,添加可視化數(shù)據(jù)或給網(wǎng)站添加新注冊的用戶。

#python提供了多種在既有列表中添加新數(shù)據(jù)的方式

###在列表末尾添加元素###

#在列表末尾添加元素時,最簡單的方式是,將元素附加到列表。給列表附加元素時,它將添加到列表末尾。


motorcycles = ['honda','yamaha','suzuki'];

print(motorcycles);? ?#['honda', 'yamaha', 'suzuki']


motorcycles.append('xiaoying');

print(motorcycles);? ?#['honda', 'yamaha', 'suzuki', 'xiaoying']


#方法append()將元素'xiaoying'添加到列表末尾,而不會影響列表中的其他所有元素。

##方法append()讓動態(tài)地創(chuàng)建列表易如反掌。##

#例如,你可以創(chuàng)建一個空列表,在使用一系列函數(shù)調(diào)用append()來添加元素。

#下面來創(chuàng)建一個空列表,再在其中添加元素'honda','yamaha','suzuki'


motorcycles = [];

motorcycles.append('honda');

motorcycles.append('yamaha');

motorcycles.append('suzuki');

print(motorcycles);? ? ? ? ? ?#['honda', 'yamaha', 'suzuki']


#這種創(chuàng)建列表的方式極其常見,因為經(jīng)常要等程序運行后,你才知道用戶要在程序中存儲哪些數(shù)據(jù)。

#為控制用戶,可創(chuàng)建一個空列表,用于存儲用戶將要輸入的值,然后將用戶提供的每個新值添加到列表中。



##在列表中插入元素##

###使用方法insert()可在列表的任何位置添加新元素。為此,你需要指定新元素的索引和值。


motorcycles = ['honda','yamaha','suzuki'];

motorcycles.insert(0,'xiaoying');

motorcycles.insert(3,'XY',);

print(motorcycles);? ? ? ? ?#['xiaoying', 'honda', 'yamaha', 'XY', 'suzuki']


##這個示例中,值'xiaoying'和值'XY'被插入到列表開頭和倒數(shù)第二。方法insert()在索引0和3處添加空間,

##并將值'xiaoying'和值'XY'存儲到這個地方。

#這種操作將列表中的既有的每個元素都向右移一個位置。

###注意,列表插入后索引就會更新###



motorcycles = ['honda','yamaha','suzuki'];

motorcycles.insert(3,'xiaoying');

print(motorcycles);? ? ? ? ?#['honda', 'yamaha', 'suzuki', 'xiaoying']

motorcycles.insert(4,'bycycle');

print(motorcycles);? ? ? ? ?#['honda', 'yamaha', 'suzuki', 'xiaoying', 'bycycle']



##從列表中刪除元素##

#經(jīng)常需要刪除列表中的一個或多個元素。例如,玩家將空中的一個外星人射殺后,

#你可能需要將其從存活的外星人列表中刪除。當(dāng)用戶在你創(chuàng)建的web應(yīng)用中注銷賬戶時,

#你就需要將該用戶從活動用戶列表中刪除。你可以根據(jù)位置或值來刪除列表中的元素。


###使用del語句永久刪除元素###


motorcycles = ['honda','yamaha','suzuki'];

print(motorcycles);? ?#['honda', 'yamaha', 'suzuki']


del motorcycles[1];

print(motorcycles);? ?#['honda', 'suzuki']這里刪除了索引為1的元素'yamaha'


###del可以刪除任意位置處的列表元素,條件是知道其索引,

#并且是永久刪除,無法再訪問它(也就是值刪除的元素哦)###


print(motorcycles[1]);? ?#suzuki



#使用方法pop()刪除元素

#有時候,你需要將元素從列表中刪除,并接著使用它的值,例如,你可能需要獲取剛被擊殺的外星人的x和y的坐標(biāo),

#以便在相同位置顯示爆炸效果,在web應(yīng)用程序中,你可能要將用戶從活躍成員列表中刪除,

#并將其加入到非活躍成員列表中。


#方法pop()刪除列表末尾的元素,并讓你能夠接著使用它。術(shù)語彈出pop()源自這樣的類比,列表就像一個棧,

#而刪除列表末尾的元素相當(dāng)于彈出棧頂元素。


#從列表motorcycle中彈出一款摩托車

#定義并打印列表motorcycles

motorcycles = ['honda','yamaha','suzuki']

print(motorcycles) #['honda', 'yamaha', 'suzuki']


#從這個列表中彈出一個值,并將其賦給變量popped_motorcycle中,然后打印這個列表,以核實從中刪除了一個值。

#最后打印彈出的值,以證明我們依然能訪問被刪除的值

popped_motorcycle = motorcycles.pop()

print(motorcycles)? ? ? ? ?#['honda', 'yamaha']

print(popped_motorcycle)? ?#suzuki


#輸出表明,列表末尾的值'suzuki'已刪除,它現(xiàn)在被賦給了變量popped_motorcycle

#方法pop()有什么用呢?假設(shè)列表中的摩托車是按購買的時間存儲的,就可以使用pop()打印一條消息,

#指出最后購買的是哪款摩托車


motorcycles = ['honda','yamaha','suzuki']

last_owned = motorcycles.pop()

print(f"The last motorcycle I owned was a {last_owned.title()}.")? #The last motorcycle I owned was a Suzuki.


##彈出列表中任意位置處的元素##

#實際上,可以使用pop()來刪除任意位置的元素,只需要在圓括號中指定要刪除元素的索引即可



motorcycles = ['honda','yamaha','suzuki']

last_owned = motorcycles.pop(1)

print(f"The last motorcycle I owned was a {last_owned.title()}.")? ?#The last motorcycle I owned was a Yamaha.


#但是別忘了,每當(dāng)你使用pop()時,被彈出的元素就不在列表中了

#總結(jié),del語句刪除的元素就不能再訪問了,方法pop()刪除元素后還能繼續(xù)使用它



###根據(jù)值刪除元素###

#有時候,不知道要刪除的值在列表中的位置,如果只知道要刪除元素的值,可以使用方法remove()


motorcycles = ['honda','yamaha','suzuki','ducati']

print(motorcycles)? ?#['honda', 'yamaha', 'suzuki', 'ducati']

#假設(shè)從列表motorcycles中刪除值'ducati'

motorcycles.remove('ducati')

print(motorcycles)? ?#['honda', 'yamaha', 'suzuki']


#使用方法remove()從列表中刪除元素,也可以繼續(xù)使用它。

#打印刪除值'ducati'并打印一條消息,指出從列表中將其刪除的原因


motorcycles = ['honda','yamaha','suzuki','ducati']

print(motorcycles)


#將值'ducati'賦給變量too_expensive

too_expensive = 'ducati'


motorcycles.remove(too_expensive)

print(motorcycles)

print(f"\nA {too_expensive.title()} is too expensive for me")? ?#A Ducati is too expensive for me


#方法remove()只能刪除第一個指定的值,如果要刪除的值在列表中出現(xiàn)多次,就需要使用循環(huán)來確保每個值都刪除


motorcycles = ['honda','yamaha','ducati','suzuki','ducati']

print(motorcycles)? ? ? ?#['honda', 'yamaha', 'ducati', 'suzuki', 'ducati']

too_expensive = 'ducati'

motorcycles.remove(too_expensive)

print(motorcycles)? ? ? ?#['honda', 'yamaha', 'suzuki', 'ducati']





###組織列表###

#創(chuàng)建的列表中,元素排列順序常常是無法預(yù)測的,因為你并非總能控制用戶提供數(shù)據(jù)的順序。

#有時候,你希望保留列表元素最初的排列順序,而有時候你又需要調(diào)整排列順序


###使用方法sort()對列表永久排序###

#假設(shè)讓汽車列表按字母順序排列,為簡化這項任務(wù),假設(shè)列表中使用值都是小寫的


##建立一個cars.py文件(其他文件自己取名,后面不再演示)


cars = ['bmw','audi','toyota','subaru']

cars.sort()

print(cars)? ?#['audi', 'bmw', 'subaru', 'toyota']


#方法sort()永久性地修改列表元素的排列順序?,F(xiàn)在汽車按字母順序排列,再也無法恢復(fù)到原來的排列順序


###還可以按與字母相反的順序排列列表元素,只需向sort()方法傳遞參數(shù)reverse=True即可,同樣也是永久性地修改

cars = ['bmw','audi','toyota','subaru']

cars.sort(reverse=True)

print(cars)? ?#['audi', 'bmw', 'subaru', 'toyota']? ?#['toyota', 'subaru', 'bmw', 'audi']



##使用函數(shù)sorted()對列表臨時排序##

#保留列表元素原來的排列順序,同時以特定順序呈現(xiàn)它們,不會影響列表中的原始排列順序,可使用函數(shù)sorted()


cars = ['bmw','audi','toyota','subaru']

print('Here is the original list:')

print(cars)


print('Here is the sorted list:')

print(sorted(cars))


print('Here is the original list again:')

print(cars)


'''

Here is the original list:

['bmw', 'audi', 'toyota', 'subaru']

Here is the sorted list:

['audi', 'bmw', 'subaru', 'toyota']

Here is the original list again:

['bmw', 'audi', 'toyota', 'subaru']

'''


##首先按原始打印順序打印列表,再按字母順序顯示列表,以特定順序顯示列表后,

##最后確認(rèn)列表元素的排列順序與以前相同

###當(dāng)然也可以按與字母相反順序顯示列表,[也就是傳遞參數(shù)reverse=True],print(sorted(cars,reverse=True))###


#當(dāng)然并非所有的值都是小寫的,按字母順序排列列表要復(fù)雜些,決定排列順序時,有多種解讀大寫字母的方式

#要指定準(zhǔn)確的排列順序,可能比我們這里所做的要復(fù)雜。然而,大多數(shù)排序方式是以本節(jié)介紹的知識為基礎(chǔ)的



###倒著打印列表###

#要反轉(zhuǎn)列表元素的排列順序,使用方法reverse()


#假設(shè)汽車列表是按購買時間排列的,可輕松地按相反的順序排列其中的汽車

cars = ['bmw','audi','toyota','subaru']

print(cars)? ? ? ? ? ? ?#['bmw', 'audi', 'toyota', 'subaru']

cars.reverse()

print(cars) #['subaru', 'toyota', 'audi', 'bmw']


#####注意:reverse()方法,不是按與字母順序相反的順序排列列表元素,而只是反轉(zhuǎn)列表元素的排列順序#####

###方法reverse()也是永久性地修改列表元素的排列順序,但隨時可以恢復(fù)到原來的順序,只需再調(diào)用一次方法reverse()即可



##確定列表的長度##

#使用函數(shù)len()可快速獲悉列表的長度,

cars = ['bmw','audi','toyota','subaru','xiaoying']

print(len(cars))? #5


#函數(shù)len()很有用,如明確還有多少個外星人未被擊殺,明確需要管理多少項可視化數(shù)據(jù),計算網(wǎng)站有多少注冊用戶,等等...


###Python計算列表元素數(shù)時是從1開始的,因此確定列表長度時,你應(yīng)該不會遇到差一錯誤



###使用列表時避免索引錯誤###


#只有三個元素,你卻要訪問第4個元素,這將導(dǎo)致索引錯誤


motorcycles = ['honda','yamaha','suzuki']

# print(motorcycles[3])


'''

Traceback (most recent call last):

? File "D:\python\python_work\operating_elements_list.py", line 236, in <module>

? ? print(motorcycles[3])

IndexError: list index out of range

'''


#Python試圖向你提供位于索引3處的元素,但它搜索列表motorcycles時,卻發(fā)現(xiàn)索引為3處沒有元素。

#鑒于列表索引差一的特征,這種錯誤很常見。有些人從1開始數(shù),因此以為第三個元素的索引是3。然而在Python中

#第三個元素的索引是2,因為索引是從0開始的。

#索引錯誤就意味著Python在指定索引處找不到元素。程序發(fā)生索引錯誤時,請嘗試將指定的索引減1,然后再運行程序,看看結(jié)果是否正確


###別忘了,每當(dāng)需要訪問最后一個列表元素時,都可以使用索引-1,(多個元素中,當(dāng)然還可以使用索引-2,-3...)

###這在任何情況下都行之有效,即便你最后一次訪問列表后,其長度發(fā)生變化。索引-1總是返回最后一個列表元素


motorcycles = ['honda','yamaha','suzuki']

print(motorcycles[-1])? ?#suzuki


#僅當(dāng)列表為空時,這種索引-1訪問最后一個元素才會導(dǎo)致錯誤

motorcycles = []

#print(motorcycles[-1])


#列表motorcycles不包含任何元素,因此Python返回一條索引錯誤消息


'''

Traceback (most recent call last):

? File "D:\python\python_work\operating_elements_list.py", line 258, in <module>

? ? print(motorcycles[-1])

IndexError: list index out of range


'''

###注意:發(fā)生索引錯誤卻找不到方法時,請嘗試將列表或其長度打印出來。列表可能與你以為的截然不同,

###在程序?qū)ζ溥M(jìn)行了動態(tài)處理時尤為如此。通過查看列表或其包含的元素數(shù),可幫助你找出這種邏輯錯誤。

列表簡介的評論 (共 條)

分享到微博請遵守國家法律
修水县| 广饶县| 秦皇岛市| 舞钢市| 瑞昌市| 峨边| 吴桥县| 镇赉县| 兰西县| 阿克苏市| 吴川市| 苏尼特右旗| 右玉县| 邵阳县| 壤塘县| 高雄市| 滦平县| 高碑店市| 乌苏市| 米脂县| 永胜县| 临洮县| 黄大仙区| 随州市| 张家界市| 肇庆市| 濮阳市| 阜阳市| 湖南省| 乐至县| 余江县| 会宁县| 松潘县| 湖州市| 临沂市| 锡林郭勒盟| 阿勒泰市| 台北县| 麻城市| 蓬安县| 邯郸县|