Python裡面 str[::-1] 使得字元串翻轉的原理是什麼,為什麼是兩個冒號放一起?
01-29
追問:為啥像[1:3:-1] [1:5:-1]這種就沒輸出了咧
參考python切片語法
我覺得很多人不理解這個語法是把倆冒號看成一個符號了,其實這是兩個冒號,而不是一個雙冒號符
想起一個笑話,說C有個運算符--&>叫「趨向於」的while (x--&>0){...}當x趨向於0的過程中執行循環。。。給你一個例子看看:
&>&>&> a=0123456
&>&>&> a[1:5]1234返回結果是1234,能理解么?第一位到第五位切片(初始是0位)&>&>&> a[1:5:2]
13這個呢?能理解么?1-5位切片,步進為2,所以取出來是『13』那麼問題就來了[::-1]表示的是從頭到尾,步長為-1,你感受一下。
你可以嘗試吧-1改一下,比如[::-2]第一個冒號兩側的數字是指截取字元串的範圍,省略是完全截取原來的字元串.第二個冒號後面是指截取的步長, 比如2是指每2個截取一個. -1指從倒數開始截取.
Sequence[start:end:step]
step的正負決定了切片的方向。
step為正,左→右,若start&>end,結果為空,因為start右邊無值
step為負,右→左,若start& 若start為空,則表示最開始位置 若end為空,則表示最後位置 若start和end都為空,則表示全部元素。 理解還得看代碼:
同學,這是Python中的「分片」與「步長」。
《Python基礎教程》的25頁。
廖雪峰的「Python2.7教程」。你可以在以上兩個教程中找到答案。推薦閱讀:
※python如何做一個實時檢測的服務端?
※從這個問題「class 'bs4.element.Tag'是什麼類型」 展開說明。
※Python能做什麼?需要什麼學習前提知識,如果要找工作,還需要學習什麼知識?
※Python爬蟲實戰——免費圖片 - Pixabay
※給妹子講python--17函數的基本特徵
TAG:Python |