日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

Python/ target=_blank class=infotextkey>Python關于字符串的內容真的不是一般的多,零零碎碎的學很容易疏漏。我花了一晚上認真的整理了一張思維導圖。這里沒法貼思維導圖,所以只好貼文本了,有需要思維導圖的同學關注并私信我,我會發給你。看思維導圖比看文章更容易記憶。

 

Python字符串知識點總結

字符串創建

  • 使用單引號或雙引號
  • str方法,str(非字符串參數)可將其他類型轉換成字符串

轉義字符

  • n:換行符,新的一行開頭
  • r:回車符,移至本行開頭
  • t:水平制表符,下一組4個空格的開始處
  • b:退格符,回退一個字符
  • ': 單引號'
  • ": 雙引號''

特殊字符串

  • 字符串前加r,表示轉義符不生效,但不能以單數結束,可以\結束
  • 字符串前加u,表示以Unicode格式進行編碼,一般用在中文字符串前面,防止亂碼
  • 字符串前加b,表示這是一個bytes對象,可以理解為二進制字節串,是比較特殊的字符串

跨越多行的字符

  • 三個引號(可嵌套)
  • 在每行末尾加

字符串加法,乘法

  • 加法將兩個字符串連接,生成新的字符串
  • 乘法將字符串重復n次,生成新的字符串

字符串查操作

  • 通過索引查找元素,方法同列表:指定索引獲得元素、通過切片獲得元素
  • 獲得子串的索引,指的是在字符串中查找子串,返回匹配的第一個字符的索引。
  • 方法index、find、rindex、rfind:

字符串中存在多個子串時:

index、find返回第一個子串的索引

rindex,rfind返回最后一個子串的索引。

字符串中不存在子串時:

index,rindex返回ValueError

find,rfind返回-1

字符串是不可變類型,無增刪改

  • 字符串的增刪改實質都是創建新的字符串

字符串的比較

  • 字符串的比較,比較的是其ASCII值的大小。

ord(),參數是一個字符(可以是中文),返回其ASCII值(int型)

chr(),參數是數字(int型),返回對應的字符

  • ==與is在字符串中無差異;==與is在列表中有差異

字符串反轉和截取

  • 通過切片方式獲得,例如:
a='abc'
b=a[::-1]  # 字符串反轉
c =a[1:3]  # 字符串截取,下標從0開始,謹記左開右閉
print(a,b,c)
out:
abc cba bc

使用%作為占位符格式化字符串

  • '包含%占位符的字符串' % 實際值 '包含%占位符的字符串' % (實際值1,實際值2……)
  • 格式化字符串中的%為普通字符時,需要轉義為 %%
  • 占位符%后面可以指定寬度和精度 例如:%6.3f 表示寬度6精度3的浮點數

使用{ }作為占位符格式化字符串

  • 例如:
num=3.1415926
print(f'{num:.4f}')  # 小數點后取3位,注意是四舍五入的
  • 在{}中可以使用冒號來指定數字的表示形式

{:d} 十進制數

{:b} 二進制數

{:x} 十六進制數,小寫表示

{:X} 十六進制數,大寫表示

{:f} 浮點數

{:.2f} 小數點后取2位,四舍五入

{:,} 千位分隔符

  • {}中可以指定寬度和精度

{:m.n}數字的表示形式

字符串的大小寫轉換

  • 轉化大小寫:

s.upper() 全部轉化為大寫

s.lower() 全部轉化為小寫

s.swapcase() 所有小寫變大寫,所有大寫變小寫

s.capitalize() 字符串首字母大寫

s.title() 所有單詞首字母大寫

  • 判斷是否大小寫:

s.isupper() 判斷是否全部為大寫

s.islower() 判斷是否全部為小寫

s.istitle() 判斷是否所有字符首字母大寫

字符串的對齊方式

  • 方法center,ljust,rjust, 不指定填充字符,默認為空格 若指定寬度小于字符串長度,則返回字符串本身

s.center(字符串寬度,填充字符)

s.ljust(字符串寬度,填充字符)

s.rjust(字符串寬度,填充字符)

  • 方法zfill

s.zfill(字符串寬度) 右對齊,左邊用0填充

字符串的子串替換,方法replace

  • s.replace(匹配字符串,目標字符串,最大替換次數),最大替換次數也可不指定,表示無限制

字符串的字符轉換

  • 方法maketrans和translate,可以理解為密碼本編碼、解碼。

先用maketrans創建一個加密字典trantab

然后s.translate(trantab)可轉成密文

可以再做個解密字典轉回明文。

str1 = "this is string example wow!"
intab = "aoeiu" # 原字符和目標字符對應
outtab = "12345" # 將a轉1,o轉2等等
trantab = str1.maketrans(intab, outtab)  # 加密字典trantab2 = str1.maketrans(outtab, intab)  # 解密字典str2 = str1.translate(trantab)str3 = str2.translate(trantab2)print(str2) # th4s 4s str4ng 3x1mpl3 w2w!
print(str3) # this is string example wow!
out:
th4s 4s str4ng 3x1mpl3 w2w!
this is string example wow!
  • 還可以用第三個參數指定需要刪除的字符串
str1 = "this is string example wow!"
intab = "aoeiu" # 原字符和目標字符對應
outtab = "12345" # 將a轉1,o轉2等等
trantab = str1.maketrans(intab, outtab,' ')
trantab2 = str1.maketrans(outtab, intab)str2 = str1.translate(trantab)str3 = str2.translate(trantab2)print(str2) # th4s4sstr4ng3x1mpl3w2w!
print(str3) # thisisstringexamplewow!
out:th4s4sstr4ng3x1mpl3w2w!thisisstringexamplewow!

字符串的拆分和合并

  • s.split()從左向右尋找,根據拆分符將字符串拆分,分別放入列表;
  • s.rsplit()從右向左尋找,根據拆分符將字符串拆分,分別放入列表。

上面2個方法都有參數:(maxsplit=次數,sep='拆分符')

maxsplit=拆分次數

sep='拆分符'

  • s.splitlines()根據換行符n將字符串拆分,分別放入列表。

 

  • partition(sep='拆分符'),rpartition(sep='拆分符') ,將字符串拆分為三部分。 拆分符前面,拆分符,拆分符后面,然后將這三部分封裝成元組作為方法返回值。

s.partition('拆分符') 從左邊查找拆分符,第一次出現的地方拆分

s.rpartition('拆分符') 從右邊查找拆分符,第一次出現的地方拆分

若字符串中不存在指定的拆分符:

rpartition返回的元組中字符串三部分為: 字符串本身,空字符串,空字符串

rpartition返回的元組中字符串三部分為: 空字符串,空字符串,字符串本身

 

  • 合并字符串有2種方法

一是用+合并,優點是代碼簡潔,缺點是效率低(每次合并都會新建字符串)。

二是用join()方法,可將元組、列表、字典(key)轉化為字符串,但它們的元素必須都是字符串,有非字符串會報錯。示例如下:

list=['abb', 'bcc', 'cdd']
print(''.join(list)) # abbbcccdd
out:
abbbcccdd

在循環體中大量合并字符串時建議用join(),經測試比直接用+快了10倍不止。

import time
def strplus():    t1 = time.time()
    str1 = ''
    for i in range(1000000):
        str1 += '中國人'
        t2 = time.time()
    return t2 - t1
def strjoin():    t1 = time.time()
    list1 = []    for i in range(1000000):
        list1.Append('中國人')
    str2 = ''.join(list1)
    t2 = time.time()
    return t2 - t1
print(strplus()) # 1.0035312175750732
print(strjoin()) # 0.08500289916992188
out:1.0035312175750732
0.08500289916992188

以is開頭的字符串方法

  • s.isidentifier():判斷字符串是否是合法的標識符
  • s.isspace(): 判斷字符串是否全部由空格組成
  • s.isdecimal(): 判斷字符串是否全部由十進制數組成
  • s.isnumeric(): 判斷字符串是否全部由數字組成
  • s.isalnum(): 判斷字符串是否僅由數字和字母組成
  • s.isalpha():判斷字符串是否全部由字母組成

去除字符串空白符方法strip、lstrip、rstri.ps

  • strip([chars]) 缺省參數時移除頭尾的空白符(n、t、r、空格),指定參數時可移除指定字符
  • s.ltrip([chars]) 缺省參數時移除開頭的空白符(n、t、r、空格),指定參數時可移除指定字符
  • s.rtrip([chars]) 缺省參數時移除結尾的空白符(n、t、r、空格),指定參數時可移除指定字符

 

有需要思維導圖的朋友可以關注我再私信我留下你的郵箱,保證會把思維導圖發email給你,看思維導圖比看文章更容易記憶。

分享到:
標簽:字符串 python
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定