python字串連線與擷取

2021-08-02 15:00:23 字數 3189 閱讀 1743

python字串連線

python字串連線有幾種方法,我開始用的第乙個方法效率是最低的,後來看了書以後就用了後面的2種效率高的方法,跟大家分享一下。

先介紹下效率比較低的方法:

?

1

2

3

4

5

a=['a','b','c','d']

content=''

foriina:

content=content+i

printcontent

content的結果是:'abcd'

後來我看了書以後,發現書上說的是python連線字串,特別是在迴圈連線字串的時候,他每次連線一次,就要重新開闢空間,然後把字串連線起來,再放入新的空間,再一次迴圈,又要開闢新的空間,把字串連線起來放入新的空間,如此反覆,記憶體操作比較頻繁,每次都要計算記憶體空間,然後開闢記憶體空間,再釋放記憶體空間,效率非常低,你也許操作比較少的資料的時候看不出來,感覺影響不大,但是你碰到運算元據量比較多的時候,這個方法就要退休了,還是看看下面2個比較先進的方法把。

先進方法1:

用字串的join方法:

?

1

2

3

4

a=['a','b','c','d']

content=''

content=''.join(a)

printcontent

content的結果:'abcd'

先進方法2:

用字串的替換佔位符替換

?

1

2

3

4

a=['a','b','c','d']

content=''

content='%s%s%s%s'%tuple(a)

printcontent

content的結果是:'abcd'

有興趣可以看看關於python字串有關的 python 字串替換 和 python 字串擷取

字串擷取

python的字串是有序集合,我們可以通過索引來提取想要獲取的字元,可以把python的字串也做為字串的列表就更好理解。

python的字串列表有2種取值順序

1.是從左到右索引預設0開始的,最大範圍是字串長度少1

s = 'ilovepython'

s[0]的結果是i

2.是從右到左索引預設-1開始的,最大範圍是字串開頭

s = 'ilovepython'

s[-1]的結果是n

上面這個是取得乙個字元,如果你的實際要取得一斷字元的話,可以用到python 字串擷取功能

比如:s = 'ilovepython'

s[1:5]的結果是love

當使用以冒號分隔的字串,python返回乙個新的物件,結果包含了以這對偏移標識的連續的內容,左邊的開始是包含了下邊界,比如上面的結果包含了s[1]的值l,而取到的最大範圍不包括上邊界,就是s[5]的值p

字串替換

python 字串替換是python操作字串的時候經常會碰到的問題,這裡簡單介紹下字串替換方法。

python 字串替換可以用2種方法實現:

1.用字串本身的replace方法

?

1

a.replace('word','python')

輸出的結果是hello python

2.用正規表示式來完成替換:

?

1

2

3

4

importre

strinfo=re.compile('word')

b=strinfo.sub('python',a)

printb

輸出的結果也是hello python

oracle字串連線 擷取

查詢sql語句,同時為第二列形成乙個超級鏈結 select id,concat concat concat filename randomfilename,filesize from t fileinfo oracle的concat函式一次只能連線2個字串 select id,account,pas...

python 字串連線

python拼接字串一般有以下幾種方法 1 直接通過 操作符拼接 s hello world print s 輸出結果 hello world 使用這種方式進行字串連線的操作效率低下,因為python中使用 拼接兩個字串時會生成乙個新的字串,生成新的字串就需要重新申請記憶體,當拼接字串較多時自然會影...

python筆記 字串連線

p.p1 p.p2 p.p3 p.p4 p.p5 p.p6 p.p7 p.p8 span.s1 span.s2 span.s3 字串連線 title python大會 time 2018 01 06 5 print protocol domain url data 使用加號連線字串 6 print ...