摘要:取多個元素從頭開始取多個元素切片結(jié)束,但是不包括該的元素。切片開始的不填則默認是從最前端即開始。當然,從尾端開始切片,也支持省略代表一直切到尾部。其他編程語言入都提供了很多操作字符串的函數(shù),其實中可以利用切片輕松完成。
取一個list或者tuple的一部分是十分常見的操作。我們除了利用循環(huán)通過索引一個個獲取元素外,python還為我們提供了方便的切片(Slice)操作符:。
我們定義一個list,以供下面舉例使用。
L = ["apple","banaba","peal","orange","water melon"]取一個元素 順序取一個元素
例如L[1]代表第2個元素,即index為1的元素。
逆序取一個元素list、tuple、string等不僅能從頭開始取元素,還可以從尾端開始取元素。例如:
list[-1]則是指list的倒數(shù)第1個。
print L[0:3] ||____切片結(jié)束index,但是不包括該index的元素。 |____切片起始index。包括該index的元素。 # 上述即取L這個list的index為0、1、2的三個元素。 print L[ :3] |___切片開始的index不填則默認是從list最前端即index=0開始。(事實上也不用空一格,這里只是展示方便。)
上述兩個print函數(shù)輸出的都是["apple", "banaba", "peal"]。切片符號是一對
從尾端開始取多個元素例如
L[-3:-1] | |____倒數(shù)第1個結(jié)束,但不包括該元素。 |_____倒數(shù)第3個開始,包括該元素。
哇,我們找到了一個規(guī)律:
就是python切片的時候總是包括前面那個元素,卻不包括最后一個元素。
當然,從尾端開始切片,也支持省略index代表一直切到尾部。例如:
L[-3:]
突然有一個神奇的想法,切片的時候開始與結(jié)束時的index都省略,那么會發(fā)生什么?
即L[:],謎底就是切出了一個跟原來的list一摸一樣的list。
上面所有的例子都是用list來舉例說明的。其實tuple、string都是一樣的。
其他編程語言入python、java都提供了很多操作字符串的函數(shù),其實python中可以利用切片輕松完成。
python切片的時候[from:to]中的from一定要比to小,才會返回正確的切片,否則會返回一個空的list、tuple或則什么都沒有(給字符串切片的時候)。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/44288.html
摘要:我們還可以給切片進行命名,有名字的切片,顯然更具有可讀性。對切片賦值時,賦值符號右側(cè)必須是一個可迭代對象,即使這個對象只包含一個元素,否則會提示錯誤。注以上內(nèi)容主體來自于流暢的一書中切片和切片原理 切片是python中列表(list)、元組(tuple)、字符串(str)等序列類型都支持的一種操作,但實際上切片的功能比人們所想象的要強大的多。 切片區(qū)間為什么會忽略最后一個元素 當只有...
摘要:的魔術(shù)方法是中那些預定義的像類型的函數(shù)。使用的魔術(shù)方法的最大優(yōu)勢在于提供了簡單的方法讓對象可以表現(xiàn)得像內(nèi)置類型一樣。廖雪峰老師教程里寫的是方法,不知道為啥。 Python的魔術(shù)方法是Python中那些預定義的像__XXX__類型的函數(shù)。使用Python的魔術(shù)方法的最大優(yōu)勢在于python提供了簡單的方法讓對象可以表現(xiàn)得像內(nèi)置類型一樣。 __str__函數(shù) __str__函數(shù)用于處理打印...
摘要:代碼現(xiàn)在還比較簡陋,但起碼解決了問題,等以后熟悉了的語言以后再回來優(yōu)化吧 正在照著廖雪峰dalao的教程學習python中目前學到了高級特性->切片這節(jié)課有個教程 利用切片操作,實現(xiàn)一個trim()函數(shù),去除字符串首尾的空格,注意不要調(diào)用str的strip()方法: 思考了很久,最終用笨方法寫出來了一個模板 l = if(l): x = 0 y = 1 whi...
摘要:具體方法和上一篇一樣,也是用各個分量的哈希值進行異或運算,由于的分量可能很多,這里我們使用函數(shù)來歸約異或值。每個分量被映射成了它們的哈希值,這些哈希值再歸約成一個值這里的傳入了第三個參數(shù),并且建議最好傳入第三個參數(shù)。 《流暢的Python》筆記。本篇是面向?qū)ο髴T用方法的第三篇。本篇將以上一篇中的Vector2d為基礎(chǔ),定義多維向量Vector。 1. 前言 自定義Vector類的行為...
摘要:例如,的序列協(xié)議只需要和兩個方法。任何類如,只要使用標準的簽名和語義實現(xiàn)了這兩個方法,就能用在任何期待序列的地方。方法開放了內(nèi)置序列實現(xiàn)的棘手邏輯,用于優(yōu)雅地處理缺失索引和負數(shù)索引,以及長度超過目標序列的切片。 序列的修改、散列和切片 接著造Vector2d類 要達到的要求 為了編寫Vector(3, 4) 和 Vector(3, 4, 5) 這樣的代碼,我們可以讓 init 法接受任...
閱讀 3344·2021-11-10 11:36
閱讀 3244·2021-10-08 10:21
閱讀 2841·2021-09-29 09:35
閱讀 2416·2021-09-22 16:06
閱讀 3959·2021-09-09 09:33
閱讀 1327·2019-08-30 15:44
閱讀 3171·2019-08-30 10:59
閱讀 2982·2019-08-29 15:32