国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【思維導(dǎo)圖】Python中常用的8種字符串操作

weij / 680人閱讀

摘要:方法語法格式作用檢索字符串是否以指定的字符串結(jié)尾,如果是則返回,否則返回。需要思維導(dǎo)圖源文件的請留言你的郵箱。

文章末尾獲取思維導(dǎo)圖高清源文件

拼接字符串

使用“+”可以對多個字符串進行拼接
語法格式str1 + str2

>>> str1 = "aaa"
>>> str2 = "bbb"
>>> print(str1 + str2)
aaabbb

需要注意的是字符串不允許直接與其他類型進行拼接,例如

>>> num = 100
>>> str1 = "hello"
>>> print(str1 + num)
Traceback (most recent call last):
  File "", line 1, in 
    print(str1 + num)
TypeError: can only concatenate str (not "int") to str

上面這種情況我們可以將num轉(zhuǎn)換為字符串再進行拼接

>>> num = 100
>>> str1 = "hello"
>>> print(str1 + str(num))
hello100

這樣就不會報錯了

計算字符串的長度

在Python中使用len()函數(shù)來計算字符串的長度
語法格式len(string)

>>> str1 = "hello"
>>> len(str1)
5
>>> str2 = "你好"
>>> len(str2)
2
>>> str3 = "1111"
>>> len(str3)
4

從上面的結(jié)果我們可以看出,在默認情況下,len函數(shù)在計算字符串的長度時,無論是數(shù)字,字母還是多字節(jié)的漢字都認為是一個字符。
為什么說是默認情況下呢,因為在實際開發(fā)中,可能因為我們采取的編碼不同,字符串實際所占的字節(jié)數(shù)也不同。

UTF-8編碼,漢字占3個字節(jié)

GBK或者GB2312,漢字占2個字節(jié)

這時我們可以通過使用encode()方法進行編碼后再進行獲取長度。
例如:

>>> str1 = "你好"
>>> len(str1)
2
>>> len(str1.encode("gbk"))
4
>>> len(str1.encode("utf-8"))
6
截取字符串

語法格式string[start : end : step]
參數(shù)說明

string:表示要截取的字符串

start:表示要截取的第一個字符的索引(包括該字符),如果不指定,則默認為0

end:表示要截取的最后一個字符的索引(不包括該字符),如果不指定則默認為字符串的長度。

step:表示切片的步長,如果省略,則默認為1,當(dāng)省略該步長時,最后一個冒號也可以省略。

>>> str1 = "hello world!"
>>> str1[1]     #截取第2個字符
"e"
>>> str1[2:]    #從第3個字符開始截取
"llo world!"
>>> str1[:4]
"hell"
>>> str1[1:5]
"ello"
>>> str1[-1]    #截取最后一個字符
"!"
>>> str1[2:-2]
"llo worl"

注意:字符串的索引是從0開始的

分割字符串

python中分割字符串是使用split()方法把字符串分割成列表
語法格式str.split(sep, maxsplit)
參數(shù)說明:

str:表示要進行分割的字符串

sep:用于指定分隔符,可以包含多個字符,默認為None,即所有空字符(包括空格、換行"n”、制表符“t”等)。

maxsplit:可選參數(shù),用于指定分割的次數(shù),如果不指定或者為-1,則分割次數(shù)沒有限制,否則返回結(jié)果列表的元素個數(shù)最多為 maxsplit+1

返回值:分隔后的字符串列表。

>>> str1 = "i am a good boy!"
>>> str1.split()    #采用默認分割符進行分割
["i", "am", "a", "good", "boy!"]
>>> str1.split(" ")   #采用空格進行分割
["i", "am", "a", "good", "boy!"]
>>> str1.split(" ", 3)  #采用空格進行分割,并且只分割前3個
["i", "am", "a", "good boy!"]

注意默認情況下按空格分割

檢索字符串

python中字符串的查找方法
1、count()方法
語法格式str.count(sub[, start[, end]])
作用:用于檢索指定字符串在另一個字符串中出現(xiàn)的次數(shù),如果檢索的字符串不存在則返回0,否則返回出現(xiàn)的次數(shù)。
參數(shù)說明

str:表示原字符串

sub:表示要檢索的子字符串

start:可選參數(shù),表示檢索范圍的起始位置的索引,如果不指定,則從頭開始檢索

end:可選參數(shù),表示檢索范圍的結(jié)束位置的索引,如果不指定,則一直檢索到結(jié)尾

>>> str1 = "hello world"
>>> print(str1.count("o"))
2

2、find()方法
語法格式str.find(sub[, start[, end]])
作用:檢索是否包含指定的字符串,如果檢索的字符串不存在則返回-1,否則返回首次出現(xiàn)該字符串時的索引。

>>> str1 = "hello world!"
>>> str1.find("wo")
6

3、index()方法
語法格式str.index(sub[, start[, end]])
作用:和find方法類似,也用于檢索是否包含指定的字符串,使用index方法,當(dāng)指定的字符串不存在時會拋異常。

>>> str1 = "hello world!"
>>> str1.index("w")
6
>>> str1.index("m")
Traceback (most recent call last):
  File "", line 1, in 
    str1.index("m")
ValueError: substring not found
>>> str1.find("m")
-1

4、startswith()方法
語法格式str.startswith(prefix[, start[, end]])
作用:檢索字符串是否以指定的字符串開頭,如果是則返回true,否則返回false。

>>> str1 = "hello world!"
>>> str1.startswith("hello")
True
>>> str1.startswith("hi")
False
>>> 

5、endswith()方法
語法格式str.endswith(prefix[, start[, end]])
作用:檢索字符串是否以指定的字符串結(jié)尾,如果是則返回true,否則返回false。

>>> str1 = "hello world!"
>>> str1.endswith("world!")
True
>>> str1.endswith("haha")
False
字符串的大小寫轉(zhuǎn)換

1、lower()方法
語法格式str.lower()
作用:將字符串中的大寫字母轉(zhuǎn)換為小寫字母

>>> str1 = "Hello World!"
>>> str1.lower()
"hello world!"

2、upper()方法
語法格式str.upper()
作用:將字符串中的小寫字母轉(zhuǎn)換為大寫字母

>>> str1 = "Hello World!"
>>> str1.upper()
"HELLO WORLD!"
去除字符串中的空格和特殊字符

開發(fā)中,我們會遇到這樣的需求,字符串前后(左右側(cè))不允許出現(xiàn)空格和特殊字符或者將用戶輸入的字符串中誤輸入的空格去除掉。這時我們就需要用到strip函數(shù)。
1、strip()方法
語法格式str.strip([chars])
作用:去除字符串前后(左右側(cè))的空格或特殊字符

>>> str1 = "   hello  world!   "
>>> str1.strip()
"hello  world!"
>>> str2 = "#hello world#@#"
>>> str2.strip("#")
"hello world#@"
>>> str3 = "@hello world!@."
>>> str3.strip("@.")
"hello world!"

2、lstrip()方法
語法格式str.lstrip([chars])
作用:去除字符串前面(左側(cè))的空格或特殊字符

>>> str1 = "   hello  world!   "
>>> str1.lstrip()
"hello  world!   "
>>> str2 = "#hello world#@#"
>>> str2.lstrip("#")
"hello world#@#"
>>> str3 = "@.hello world!@."
>>> str3.lstrip("@.")
"hello world!@."

3、rstrip()方法
語法格式str.rstrip([chars])
作用:去除字符串后面(右側(cè))的空格或特殊字符

>>> str1 = "   hello  world!   "
>>> str1.rstrip()
"   hello  world!"
>>> str2 = "#hello world#@#"
>>> str2.rstrip("#")
"#hello world#@"
>>> str3 = "@.hello world!@."
>>> str3.rstrip("@.")
"@.hello world!"
格式化字符串

所謂格式化字符串就是先制定一個模板,在模板中預(yù)留幾個空位,然后根據(jù)需要填上相應(yīng)的內(nèi)容。

使用“%”操作符

語法格式"%[-][+][0][.n]格式化字符"%exp
參數(shù)說明

-:可選參數(shù),用于指定左對齊,正數(shù)前方無符號,負數(shù)前面加負號

+:可選參數(shù),用于指定右對齊,正數(shù)前方加正號,負數(shù)前方加負號

0:可選參數(shù),表示右對齊,正數(shù)前方無符號,負數(shù)前方加負號,用0填充空白處(一般與m參數(shù)一起使用)

m:可選參數(shù),表示占有寬度

n:可選參數(shù),表示小數(shù)點后保留的位數(shù)

格式化字符:用于指定類型,其值如下表所示

exp:要轉(zhuǎn)換的項,如果要指定的項有多個,需要通過元組的形式進行指定,但不能使用列表。

>>> template = "學(xué)號:%d,姓名:%s,班級:%s"
>>> print(template% (123,"張三","一年級"))
學(xué)號:123,姓名:張三,班級:一年級

好了,關(guān)于Python中字符串的操作方法就介紹到這里,希望可以幫助到大家。
需要思維導(dǎo)圖源文件的請留言你的郵箱。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/43716.html

相關(guān)文章

  • ??導(dǎo)圖整理大廠面試高頻數(shù)組8: 移除元素雙指針優(yōu)化, 力扣27??

    此專欄文章是對力扣上算法題目各種方法的總結(jié)和歸納, 整理出最重要的思路和知識重點并以思維導(dǎo)圖形式呈現(xiàn), 當(dāng)然也會加上我對導(dǎo)圖的詳解. 目的是為了更方便快捷的記憶和回憶算法重點(不用每次都重復(fù)看題解), 畢竟算法不是做了一遍就能完全記住的. 所以本文適合已經(jīng)知道解題思路和方法, 想進一步加強理解和記憶的朋友, 并不適合第一次接觸此題的朋友(可以根據(jù)題號先去力扣看看官方題解, 然后再看本文內(nèi)容). 關(guān)...

    zhangyucha0 評論0 收藏0
  • 思維導(dǎo)圖整理大廠面試高頻數(shù)組24: 合并兩個有序數(shù)組雙指針思想, 力扣88

    摘要:此專欄文章是對力扣上算法題目各種方法的總結(jié)和歸納整理出最重要的思路和知識重點并以思維導(dǎo)圖形式呈現(xiàn)當(dāng)然也會加上我對導(dǎo)圖的詳解目的是為了更方便快捷的記憶和回憶算法重點不用每次都重復(fù)看題解畢竟算法不是做了一遍就能完全記住的所 ...

    darkerXi 評論0 收藏0
  • ??思維導(dǎo)圖整理大廠面試高頻數(shù)組10: 3方法徹底解決位數(shù)問題, 力扣4??

    此專欄文章是對力扣上算法題目各種方法的總結(jié)和歸納, 整理出最重要的思路和知識重點并以思維導(dǎo)圖形式呈現(xiàn), 當(dāng)然也會加上我對導(dǎo)圖的詳解. 目的是為了更方便快捷的記憶和回憶算法重點(不用每次都重復(fù)看題解), 畢竟算法不是做了一遍就能完全記住的. 所以本文適合已經(jīng)知道解題思路和方法, 想進一步加強理解和記憶的朋友, 并不適合第一次接觸此題的朋友(可以根據(jù)題號先去力扣看看官方題解, 然后再看本文內(nèi)容). 關(guān)...

    XanaHopper 評論0 收藏0
  • 開源 GitBook: Python 之旅

    摘要:我在寫作的過程中,給自己提了一個要求盡量深入淺出,條理清晰。至于是否達到了,希望讀者們多多批評指正,并給我提意見和建議。第章介紹中的函數(shù)式編程,包括匿名函數(shù)閉包和裝飾器等。第章介紹使用處理進程線程和協(xié)程。 showImg(https://segmentfault.com/img/remote/1460000007990784?w=268&h=385); 在學(xué)習(xí)和使用 Python 的過...

    趙連江 評論0 收藏0
  • 學(xué)會它,能讓你工作學(xué)習(xí)效率提升10倍!

    摘要:思維導(dǎo)圖的好處它們能投讓你一直對全部知識圖景了然于胸,因而可以讓你對那一學(xué)科的全部知識有一個更加平衡和更加全面的理解。竭盡所能地利用一切讓思維導(dǎo)圖的制作過程充滿樂趣音樂繪畫色彩。 從小老師就教育小肆,要多記筆記,說好記性不如爛筆頭,但記過的筆記卻很快就忘了,甚至回頭再看都不知道當(dāng)時記得什么,一直期望能有個比記筆記更好的方法來學(xué)習(xí),直到我遇見了它--思維導(dǎo)圖。 什么是思維導(dǎo)圖? 人腦不是...

    Cruise_Chan 評論0 收藏0

發(fā)表評論

0條評論

weij

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<