操作列表
遍歷列表
magicians=['alice','david','carolina']
for magician in magicians:
? ? print(magician)
#注意for語(yǔ)句后面的“:”,for循環(huán)可以包含無(wú)數(shù)代碼行,只要保持縮進(jìn)
for magician in magicians:
? ? print("今天的表演是:")
? ? print(magician)
? ? #結(jié)束for循環(huán)只要不縮進(jìn)就好
print("表演結(jié)束")
創(chuàng)建數(shù)值列表:列表非常適合用于存儲(chǔ)數(shù)字集合,python提供了很多工具可以幫我們高效地處理數(shù)字列表
Python函數(shù)range()輕松生成一系列的數(shù)字
range(1,5)生成的是1,2,3,4,而不會(huì)生成5。
使用range()創(chuàng)建數(shù)字列表
#使用range還可以指定步長(zhǎng),默認(rèn)步長(zhǎng)為1
even_numbers=list(range(2,11,2))
#函數(shù)range()從2 開始數(shù),然后不斷地加2,直到達(dá)到或超過(guò)終值
print(even_numbers)
even_numbers=list(range(2,12,2))
#函數(shù)range()從2 開始數(shù),然后不斷地加2,直到達(dá)到或超過(guò)終值,達(dá)到的終值也不會(huì)輸出
print(even_numbers)
#創(chuàng)建一個(gè)列表包含1-10的平方
squres=[]
for value in range(1,11):
? ? squres.append(value**2)
print(squres)
對(duì)數(shù)字列表執(zhí)行簡(jiǎn)單的統(tǒng)計(jì)計(jì)算
求最小值min(),最大值max(),列表數(shù)字之和sum()
#處理數(shù)字列表的python函數(shù)
digits=[1,2,3,4,5,6,7,8,9,10]
print(min(digits))
print(max(digits))
print(sum(digits))
列表解析:將for循環(huán)和創(chuàng)建新元素的代碼合并成一行,并自動(dòng)附加新元素
squares={value ** 2 for value in range(1,11)}
print(squares)
squares={value*2 for value in range(1,11)}
print(squares)
使用列表的一部分:
切片,要?jiǎng)?chuàng)建切片,可指定要使用的第一個(gè)元素和最后一個(gè)元素的索引。與函數(shù)range()一樣,python在到達(dá)你指定的第二個(gè)索引前面的元素后停止,要輸出列表中的前三個(gè)元素,需要指定索引0-3,這將輸出分別為0,1,2的元素
players=['charles','martina','michael','florence','eli']
print(players[0:3])
#如果沒(méi)有指定第一個(gè)索引,切片將自動(dòng)從列表開頭開始
print(players[:3])
#如果沒(méi)指定第二個(gè)索引,切片將返回直到末尾的元素
print(players[2:])
遍歷切片:如果要遍歷列表的部分元素,可在for循環(huán)中使用切片。
for player in players[0:3]:
? ? print(player)
3.復(fù)制列表:可以直接通過(guò)賦值列表給新變量,也可以使用切片來(lái)選擇性的復(fù)制列表元 素,列表切片也可以通過(guò)不給第一個(gè)索引和第二個(gè)索引來(lái)將全部的列表賦值給新變量
new_players=players
print(new_players)
new_players=players[1:4]
print(new_players)
全部賦值與列表切片復(fù)制的區(qū)別:
friends=["劉文靜","李瀟",'周明']
qiepian_friends=friends[:]
new_friends=friends
print(qiepian_friends)
print(new_friends)
friends.append("曾敏")
qiepian_friends.append("李浩")
print(qiepian_friends)
print(new_friends)
#運(yùn)行這段代碼可以看到,切片復(fù)制的列表,不管原列表元素怎么變,都與新列表無(wú)關(guān),即就是,通過(guò)切片復(fù)制的列表,實(shí)際上是兩個(gè)列表,兩者無(wú)關(guān),存儲(chǔ)在不同的地方,而直接用等號(hào)復(fù)制的列表,變化是一起的,即就是,這兩個(gè)列表變量所指向的存儲(chǔ)地址是一個(gè)。
