《怪物獵人物語2破滅之翼》隨行獸變身樣式欣賞
需求:取手機號的後六位
str='15012345678'
就直接百度切片取手機號後六位就可以解決問題了
之後遇到問題就是用類似的處理思路
需要解決什麼問題就百度什麼
附上切片知識
1、基本概念
Python中符合切片並且常用的有:列表,字串,元組。
下面那列表來說明,其他的也是一樣的。
格式:[開頭:結束:步長]
開頭:當步長>0時,不寫預設0。當步長<0時,不寫預設-1
結束:當步長>0時,不寫預設列表長度加一。當步長<0時,不寫預設負的列表長度減一
步長:預設1,>0 是從左往右走,<0是從右往左走
遵循左閉右開原則,如:[0:9]等價於數學中的[0,9)
numpy的切片操作,一般結構如num[a:b,c:d],分析時以逗號為分隔符,
逗號之前為要取的num行的下標範圍(a到b-1),逗號之後為要取的num列的下標範圍(c到d-1);
前面是行索引,後面是列索引。
如果是這種num[:b,c:d],a的值未指定,那麼a為最小值0;
如果是這種num[a:,c:d],b的值未指定,那麼b為最大值;c、d的情況同理可得。
# 字串中用法 str = 'python' print(str[::]) # python print(str[::1]) # python print(str[::2]) # pto 從左往右數,數2步,取一個值 print(str[::-1]) # nohtyp 從右往左數,數1步,取一個值,即:取全部值 print(str[::-2]) # nhy 從右往左數,數2步,取一個值 # 列表中用法 list = [1, 2, 3, 4 , 5, 6] print(list[::]) # [1, 2, 3, 4, 5, 6] print(list[::1]) # [1, 2, 3, 4, 5, 6] print(list[::2]) # [1, 3, 5] print(list[::-1]) # [6, 5, 4, 3, 2, 1] print(list[::-2]) # [6, 4, 2] # [n::-1] 示例 # 先找下標值n,再翻轉(從右到左)取值 str = 'python' list = [1, 2, 3, 4 , 5, 6] print(str[1::-1]) # yp 先找到下標1的值:y,從右往左取值:yp print(str[2::-1]) # typ 先找到下標2的值:t,從右往左取值:typ print(list[1::-1]) # [2, 1] 先找到下標1的值:2,從右往左取值:[2, 1] print(list[2::-1]) # [3, 2, 1] 先找到下標2的值:3,從右往左取值:[3, 2, 1]
逗號“,”分隔各個維度,“:”表示各個維度內的切片,只有:表示取這個維度的全部值,舉例說明如下
1.二維陣列
X[:,0]取所有行的第0個數據,第二維下標位0的所有資料,第0列(從0開始)
X[:,1] 取所有行的第1個數據
X[:,1:]第一維全部取,即所有行,列上從第一列開始取,不要第0列
X[1,:]是取第1維中下標為1的元素的所有資料,第1行(從0開始)
X[:2,1:]第一維取下標2之前的,即第2行之前(0,1兩行),列上從第一列開始取,不要第0列
2.一維陣列
s[i:j] 表示獲取a[i]到a[j-1]
s[:-1]去掉最後一個字元
s[:-n]去掉最後n個字元
s[-2:]取最後兩個字元
s[i:j:k]這種格式呢,i,j與上面的一樣,但k表示步長,預設為1
s[::-1]是從最後一個元素到第一個元素複製一遍(反向)
3.三維陣列
U[1,1,2]表示第一維取1,第二維取1,第三維取2
U[:,1,2]表示第一維全取,第二維取1,第三維取2
U[:,1:,2]表示第一維全取,第二維取1及1之後的所有值,第三維取2
U[:,1:,:2]表示第一維全取,第二維取1及1之後的所有值,第三維取2之前的值(0,1)
原文連結:https://blog.csdn.net/qq_41973536/article/details/82690242
原文連結:https://blog.csdn.net/qq_37887764/article/details/107539056