自學Python編程【第二十五節】list切片
同學們,你們好!歡迎您來到自學Python編程第二十五講,上一節課我們學習了操作list的相關內容,知道了如何使用list去調用、去增加或者刪除,這節課我們帶大家來了解list切片。
list有兩類常用操作:索引(index)和切片(slice)。
上一講我們說的用[]加序號訪問的方法就是索引操作。
除了指定位置進行索引外,list還可以處理負數的索引。繼續用上一講的例子:
l = [365, 'everyday', 0.618, True]
l[-1]表示l中的最后一個元素。
l[-3]表示倒數第3個元素。
切片操作符是在[]內提供一對可選數字,用:分割。冒號前的數表示切片的開始位置,冒號后的數字表示切片到哪里結束。同樣,計數從0開始。
注意,開始位置包含在切片中,而結束位置不包括。
l[1:3]
得到的結果是['everyday', 0.618]。
如果不指定第一個數,切片就從列表第一個元素開始。
如果不指定第二個數,就一直到最后一個元素結束。
都不指定,則返回整個列表的一個拷貝。
l[:3]
l[1:]
l[:]
同索引一樣,切片中的數字也可以使用負數。比如:
l[1:-1]
得到['everyday', 0.618]
精彩案例——點球小游戲
昨天有了一次罰球的過程,今天我就讓它循環5次,并且記錄下得分。先不判斷勝負。
用score_you表示你的得分,score_com表示電腦得分。開始都為0,每進一球就加1。
from random import choice
score_you = 0
score_com = 0
direction = ['left', 'center', 'right']
for i in range(5):
print '==== Round %d - You Kick! ====' % (i+1)
print 'Choose one side to shoot:'
print 'left, center,
right' you = raw_input()
print 'You kicked ' + you
com = choice(direction)
print 'Computer saved ' + com
if you != com:
print 'Goal!'
score_you += 1
else:
print 'Oops...'
print 'Score: %d(you) - %d(com)n' % (score_you, score_com)
print '==== Round %d - You Save! ====' % (i+1)
print 'Choose one side to save:'
print 'left, center, right'
you = raw_input()
print 'You saved ' + you
com = choice(direction)
print 'Computer kicked ' + com
if you == com: print 'Saved!'
else:
print 'Oops...'
score_com += 1
print 'Score: %d(you) - %d(com)n' % (score_you, score_com)
注意:手機上代碼有可能會被換行。
這段代碼里有兩段相似度很高,想想是不是可以有辦法可以用個函數把它們分離出來。
恭喜您在Python自學的道路上又堅持了一天,我們今天所講述的list切片你學會了嗎?現在你知道l[0:2]會輸出什么了嗎?不知道的話還不趕緊去試試?更多Python精彩內容盡在馬哥Python培訓機構官網,敬請關注!
好啦,今天的分享到這里就結束了,希望大家能夠持續關注馬哥教育官網,每天都會有大量優質內容與大家分享!免責聲明:內容和圖片源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。
聲明:文章來源于網絡,侵刪!