字串的部分功能以及可變與不可變的介紹

2021-09-14 06:27:52 字數 2392 閱讀 4032

字串的修剪

str.strip()

str.lstrip()

str.rstrip()

分別是移除左右兩邊,左邊和右邊的字串

str.startswith()是否以什麼開頭

str.endswith()是否以什麼結尾

str.count()返回其中子串出現的次數

str.find()是否包含子串,如果包含就返回索引位置,否則返回『-1』

str.rfind()返回搜尋到最右邊子串的位置

str.index()當找不到子串時丟擲valueerror錯誤

str.rindex()返回搜尋到最右邊子串的位置,當找不到子串時丟擲valueerror錯誤

字串的替換

s.replace(old,new)

s.expandtabs(n)將字串中的\t替換為一定數量的空格,n預設為8

s.translate(table)

static str.maketrans()

字串的拆分與組合

s.split (sep-none, maxsplit-1)

s.rsplit(sep=none, maxsplit–1)

s. splitlines ([keepends=true])

都是用來分割字串,並生成乙個列表

split()根據sep對s進行分割,maxspn用於指定分割次數,如果不指定maxspli或者給定值為"-1", 則會從左向右搜尋並且每遇到sep- 次就分割直到搜尋完字串。如果不指定sep或者指定為none,則改變分割演算法:以空格為分隔符,且將連續的空白壓縮為- 個空格。. rspit()和split()是-樣的,只不過是從右邊向左邊搜尋。

●splitlines()用來專 門用來分割換行符。雖然它有點像split("in)或spit("r\n』),但它們有些區別。

, splitines()中可以指定各種換行符,常見的是\n、\r、 \nn. 如果指定keepends為true, 則保留所有的換行符。

●s. partition(sep)

●s. rpartition(sep)

搜尋字串s中的子串sep,並從sep處對s進行分割,最後返回-乙個包含3元素的元組sep左邊的部分是元組的第- 乙個元素,sep自身是元組的二個元素,sep右邊是元組的第三個元素。

,parition(sep)從左邊第一 個sep進行分割,rpartition(sep)從右邊第一 個sep進行分割。

如果搜尋不到sep,則返回的3元素元組中,有兩個元素為空。partitin()是後兩個元素為空,rpartition()是前兩個元素為空。

s. join(iterable)

將可迭代物件(iterable)中的元素使用s連線起來。注意,iterable中必須全部是字串型別,否則報錯。

元組與列表

序列型別有12個通用的操作符和函式

序列型別

操作符x in s

如果x是s的元素,返回true,否則返回false如果x不是s的元素,返回lrue,否則返回false連線s和t

x not in s

s + t

sn或ns

將序列s複製n次

s[i]

索引,返回序列的第個元素

s[i:j]

分片,返回包含序列s第i到個元素的子串行(不包含第j個元素)

s[i:j:k]

步驟分片,返回包含序列s第到j個元素以為步數的子串行

len(s)

序列s的元素個數( 長度)

min(s)

序列s中的最小元素序列

max(s)

序列s中的最大元素

s.index(x[. i, i1)

s coun(x)

序列s中從開始到位置中第一次出現元素x的位置序列s**現x的總次數

元組( tuple )是序列型別中比較特殊的型別,因為它一旦建立就不能被修改。元組型別在表達固定資料項、函式多返回值、多變數同步賦值、迴圈遍歷等情況下十分有用。python中元組採用逗號和圓括號(可選)來表示。

●集合資料型別是沒有順序的簡單物件的聚集,且集合中元素不重複

●python集合資料型別包括可變集合物件(set) 和不可變集合物件(frozenset)

●集合的定義

●{}表示空的dict, 因為dict也使用花括號定義。空集為set()

集合集合型別與數學中集合的概念一致,即包含0個或多個資料項的無序組合。集合中元素不可重複,元素型別只能是固定資料型別,例如:整數、浮點數、字串、元組等,列表、字典和集合型別本身都是可變資料型別,不能作為集合的元素出現。

可變與不可變

列表是可變物件

字串是不可變物件

不管死是可變還是不可變的序列型別

分片必定產生新序列

+在=右邊,必定產生新序列

字串 可變字串與不可變字串

一 nsstring 是不可變字串,所有它所有產生其他字串方法都是生成乙個新的字串,而不會改變原來字串 第一種 字面量 它是常量字串,儲存常量區 nsstring str abc 第二種是通過 快捷的構造方法 nsstring stringwithformat 第三種方式 初始化方法 nsstrin...

C 字串是不可變的

string型別的關鍵特徵是在於它是不可變的 immutable 可以為string變數賦乙個全新的值,但出於效能方面考慮,沒有提供修改字串內容的機制。所以不可能將字串中的字幕全部轉換為大寫。只能新建字串,讓它成為舊字串的大寫字母版本,但舊字串在這個過程中不會被修改。1 錯誤,string是不可改變...

字串的不可變性

字串的不可變性,從字面的意思上理解,這個 不可變 視乎是不成立的。通過賦值操作我們發現我們可以更改字串變數的值,這種改變並不能推翻 字串不可變性 中的不可變。也就是說字串變化並不指的是賦值這種變化。通過字串型別和值型別在記憶體中的儲存方式對比看看,字串中的不可變到底指的是什麼?值型別 字串 不可變性...