利用倒序切片對 1 - 100 的數(shù)列取出:* 最后10個(gè)5的倍數(shù)。我的答案是這個(gè),驗(yàn)證是對的L = range(1, 101)print L[-46::5]但是看到答案里有:L = range(1, 101)print L[4::5][-10:]怎么L后面有兩個(gè)范圍?沒懂
1 回答
已采納

清波
TA貢獻(xiàn)165條經(jīng)驗(yàn) 獲得超90個(gè)贊
答完這個(gè)就去看優(yōu)酷了。。。
L?=?range(1,101)??##?Python3.x?:?L=list(range(1,101))??L?是一個(gè)1到100(包括)的列表 ##?分開來看如果?只打印?L[4::5]的話 print?L[4::5] [5,?10,?15,?20,?25,?30,?35,?40,?45,?50,?55,?60,?65,?70,?75,?80,?85,?90,?95,?100] ##?解釋?L[4::5]?是L?從第五個(gè)元素開始到最后一個(gè)?以步長為?5?做切片,?定語有些長,但是這個(gè)操作就是?給出起點(diǎn), ##?終點(diǎn)?和?步長?,?然后在起點(diǎn)?和終點(diǎn)間?每隔?一定數(shù)量(步長)挑出一個(gè)數(shù),?然后把這些數(shù)放到一個(gè)列表中,?也就 ##?是說,?L[4::5]?本身就是個(gè)列表,??呃?,有點(diǎn)廢話,?因?yàn)樯厦嬉呀?jīng)打印出來了。 ##?好我們知道了L[4::5]?其實(shí)就是個(gè)列表,?那么它后面接著跟上中括號做切片?再生成別的列表就好理解了,如下 L[4::5][-10:] ##?解釋也就是說?把?L[4::5]?這個(gè)列表?在做一次切片,這是切片時(shí)從倒數(shù)第10個(gè)元素起,到最后,這也就是所謂的 ##?最后10個(gè)5的倍數(shù)
在代碼外面在解釋下最后一句話:
最后10個(gè) ? 5的倍數(shù)
其實(shí) L[4::5] 完成的是 5的倍數(shù), 而 后面那個(gè)中括號 [-10:] 完成的是 最后10個(gè); ?恰好是倒過來的。。。
添加回答
舉報(bào)
0/150
提交
取消