1. 程式人生 > >Python中字串的常見操作

Python中字串的常見操作

在python中使用“”或者是‘’包裹的資料就是字串,操作方法如下:

切片:切片是指對操作物件擷取一部分的操作,字串,列表,元組都支援切片操作。
語法:[起始:結束:步長]
注意:選取的區間是從起始位開始,到結束位的前一位結束(不包括結束位本身),步長表示選取間隔。
print(str[:]) # 取出所有元素(沒有起始位和結束位之分),預設步長為1

print(str[1:]) # 從下標為1開始,取出 後面所有的元素(沒有結束位)

print(str[:5])  # 從起始位置開始,取到 下標為5的前一個元素(不包括結束位本身)

print(str[:-1]) # 從起始位置開始,取到 倒數第一個元素(不包括結束位本身)

print(str[-4:-1]) # 從倒數第4個元素開始,取到 倒數第1個元素(不包括結束位本身)

print(str[1:5:2]) # 從下標為1開始,取到下標為5的前一個元素,步長為2(不包括結束位本身)
print(s[::-1])  # 從後向前,按步長為1進行取值,字串反轉。

1.find
	檢查字串str是否在mystr中,如果是返回對應的索引值,否則返回-1.
	mystr.find(str, start=0, end=len(mystr))
2.index
	跟find的方法是一個功能,只不過沒有找到會報出異常。
	mystr.index(str, start=0, end=len(mystr)) 
3.count
	返回str在start和end之間在mystr中出現的次數
	mystr.count(str, start=0, end=len(mystr))
4.replace
	在mystr中的str1替換成str2,如果count指定,則替換的次數不能超過count次。
	mystr.replace(str1, str2,  mystr.count(str1))
5.split
	以str為分隔符切片mystr,如果maxsplit有指定值,則僅分割maxsplit個字串。
	mystr.split(str=" ", 2)     #分割的內容不包括str
6.capitalize
	把字串的第一個字元大寫。
	mystr.capitalize()
7.title 
	把字串的每個單詞的首字母大寫。
	mystr.title()
8.startswith
	檢查字串是否是以字串str開頭,是則返回True,否則返回False。
	mystr.startswith(“str”)
9.endswith
	檢查字串是否是以字串str結尾,是則返回True,否則返回False。
	mystr.endswith(‘str’)
10.lower
	轉換mystr中所有大寫字母為小寫
	mystr.lower() 
11.upper
	轉換mystr中所有小寫字母為大寫
	mystr.upper()
12.ljust
	返回一個字串左對齊,並使用空格填充至長度為width的新字串。
	mystr.ljust(width)
13.rjust
	返回一個字串右對齊,並使用空格填充至長度為width的新字串。
	mystr.rjust(width) 
14.center
	返回一個字串居中,並使用空格填充至長度為width的新字串。
	mystr.center(width) 
15.lstrip
	刪除mystr左邊的空白字元
	mystr.lstrip()
16.rstrip
	刪除mystr右邊的空白字元
	mystr.rstrip()  
17.strip
	刪除mystr兩邊的空白字元
	mystr.strip()
18.rfind
	類似於find函式,不過是從右邊開始查詢
19.rindex
	類似於index函式,不過是從右邊開始查詢
20.partition
	把mystr以str分割成三部分,str前,str,str後。
	mystr.partition(‘str’)
21.rpartiton
	類似於 partition()函式,不過是從右邊開始.
22.spllitlines
	按照行分割,返回一個包含各行元素的列表
23.isalpha
	如果mystr中所有的字元都是字母,則返回True,否則返回False。
	mystr.isalpha()  
24.isdigit
	如果mystr中只包含數字則返回True,否則返回False。
	mystr.isdigit()
25.isalnum
	如果 mystr 所有字元都是字母或數字則返回 True,否則返回 False。
	mystr.isalnum() 
26.inspace
	如果 mystr 中只包含空格,則返回 True,否則返回 False.
	mystr.isspace() 
27.join
	mystr 中每個元素後面插入str,構造出一個新的字串。
	mystr.join(str)

列表

列表中的元素可以是不同型別的資料。
列表的常見操作:增刪改查
1.新增元素:append
list.append()      #向列表list中新增元素。
2.新增元素 extend
通過extend可以將另一個集合中的元素逐一新增到列表中
>>> a = [1, 2]
>>> b = [3, 4]
>>> a.append(b)
>>> a
[1, 2, [3, 4]]
>>> a.extend(b)
>>> a
[1, 2, [3, 4], 3, 4]
3.新增元素 insert	
insert(index, object) 在指定位置index前插入元素object
>>> a = [0, 1, 2]
>>> a.insert(1, 3)
>>> a
[0, 3, 1, 2]
4.修改元素 
修改元素的時候,需要先通過下標來確定要修改的哪個元素,然後才能進行修改。
5.查詢元素(in,not in ,index, count)
in(存在),如果存在那麼結果為true,否則為false
not in(不存在),如果不存在那麼結果為true,否則false
idnex和count和字串的用法相同。
6.刪除元素(del.pop.remove)
del:根據下標進行刪除   del list[index]
pop:刪除最後一個元素     list.pop()沒有引數預設刪除最後一個,有引數刪除對應索引值
remove:根據元素的值進行刪除	  list.remove()  根據元素的值刪除
7.排序(sort,reverse)
sort方法是將list按特定順序重新排列,預設為由小到大,引數reverse=True可改為倒序,由大到小。
reverse方法是將list逆置。
>>> a = [1, 4, 2, 3]
>>> a
[1, 4, 2, 3]
>>> a.reverse()
>>> a
[3, 2, 4, 1]
>>> a.sort()
>>> a
[1, 2, 3, 4]
>>> a.sort(reverse=True)
>>> a
[4, 3, 2, 1]

元組

python中的元組和列表類似,不同之處在於元組中的元素不能修改,元組使用小括號,列表使用方括號。元組有一個很重要的功能,就是去重。

字典

字典和列表一樣,可以儲存多個數據,不同的是字典中根據鍵值對儲存的,訪問的時候也是根據鍵取值,同時在獲取到值之後就可以進行修改,如果在獲取值操作的時候,要是鍵不存在,那麼就會在字典中新增一個新的鍵值對,在字典中,鍵是不能重複的。
刪除元素的操作(del,clear())
del:刪除指定的元素
clear()是清空了整個字典

字典的常見操作

<1>len()
測量字典中,鍵值對的個數
<2>keys
返回一個包含字典所有KEY的列表
<3>values
返回一個包含字典所有value的列表
<4>items
返回一個包含所有(鍵,值)元組的列表


enumerate()
enumerate() 函式用於將一個可遍歷的資料物件(如列表、元組或字串)組合為一個索引序列,同時列出資料和資料下標,一般用在 for 迴圈當中。
>>> chars = ['a', 'b', 'c', 'd']
>>> for i, chr in enumerate(chars):
...     print i, chr
...
0 a
1 b
2 c
3 d

公共方法

+	[1, 2] + [3, 4]	 結果:[1, 2, 3, 4]	合併	    適用於:字串、列表、元組
*	['Hi!'] * 4	結果:['Hi!', 'Hi!', 'Hi!', 'Hi!']	複製	適用於:字串、列表、元組
max(item)   獲取容器中元素的最大值
min(items)   獲取容器中元素的最大值
amp:比較大小,返回值有0,1,-1,在比較字典的時候,先比較鍵,再比較值。