1. 程式人生 > >python基礎學習筆記——字串方法

python基礎學習筆記——字串方法

索引和切片

索引取出陣列s中第3個元素:x=s[2]

切片用極少的程式碼將陣列元素按需處理的一種方法。切片最少有1個引數,最多有3個引數,演示如下:

我們假設下面所用的陣列宣告為array=[2,3,4,5,6]

1個引數:

  1. array[1:]——從下標為1的元素選擇到最後一個元素,返回 [4,5,6]
  2. array[:3]——從下標為0的元素選擇到下標為2的元素,不包括下標3的元素,返回[2,3,4]
  3. array[::2]——從下標為0的元素開始,最後一個%2為0的下標對應的那個元素為止

說明:如果前2個引數中有任何一個為負數,那麼,分2種情況,如果負數 小於 -n,那麼就給負數歸0,如果僅僅在-n~0,那麼就將這個數理解為0~n-1之間轉圈圈就可以了。負數轉圈的演算法,很簡單,就不說了

2個引數:

  1. array[1:-2]——從下標1開始,到下標(n-1)之前的所有元素,返回[3,4]
  2. array[-2:3]——當第一個引數經過計算大於等於後一個,返回空陣列[]
  3. array[-13:3]——參見上面第一個說明,第一個引數歸0,返回[2,3,4]

3個引數

  1. [::-1]——從頭到尾,將陣列反轉,返回[6,5,4,3,2]
  2. [-1::-2]——從尾到頭,每個一個元素,選擇一個元素,返回[6,4,2]

說明:沒有第3個引數時,切片只能從左向右,此時若第一個引數大於等於第二個引數,則返回空陣列

說明:第三個引數<0時,切片方向可以被改變,此時沒有上述限制

練習

s = 'Python最NB'
#獲取s字串中前3個內容
print(s[:3])
#獲取s字串中第3個內容
print(s[2])
#獲取s字串中後3個內容
print(s[-3:])
#獲取s字串中第3個到第8個
print(s[2:8])
#獲取s字串中第2個到最後一個
print(s[1:])
#獲取s字串中第1, 3, 5個內容
print(s[0:6:2])
#獲取s字串中第2, 4, 6個內容
print(s[1:7:2])
#獲取s字串中所有內容
print(s[::])
#獲取s字串中第4個到最後一個, 每2個取一個
print(s[3::2])
#獲取s字串中倒數第5個到最開始, 每3個取一個
print(s[
-5::-3])

字串全部大寫:

name = 'alex'
new_name = name.upper()
print(new_name)
# 把這個字串全部變成大寫

字串全部小寫:

name = 'ALEX'
new_name = name.lower()
print(new_name)
# 把這個字串全部變成小寫 

首字母大寫:

name = 'alexdasx'
new_name = name.capitalize()
print(new_name)
# 首字母大寫

以什麼開頭:

name = 'alex'
new_name = name.startswith('a')
if new_name:
    print('是以a開頭')
# 判斷這是不是字串是不是以a開頭的

以什麼結尾:  

name = 'alex'
new_name = name.endswith('x')
if new_name:
    print('是以x結尾')
# 判斷這是不是字串是不是以x結尾的

統計出現的次數:

name = 'alexdasx'
new_name = name.count('a')
print(new_name)
# 統計name這個字串中a出現的次數

查詢下標:

name = 'alexdasx'
new_name  =  name.find( 'e' ) print (new_name) # 通過元素查詢下標,不存在就返回-1

查詢下標:  

name = 'alexdasx'
new_name = name.index('e')
print(new_name)
# 通過元素查詢下標,不存在就報錯