本文實例總結了Python中字符串的常見操作技巧。分享給大家供大家參考,具體如下:
反轉一個字符串
1
2
3
|
>>> S = 'abcdefghijklmnop' >>> S[:: - 1 ] 'ponmlkjihgfedcba' |
這種用法叫做three-limit slices
除此之外,還可以使用slice對象,例如
1
2
|
>>> 'spam' [ slice ( None , None , - 1 )] >>> |
unicode碼與字符(single-character strings)之間的轉換
1
2
3
4
|
>>> ord ( 's' ) # ord -> ordinal 115 >>> chr ( 115 ) # chr -> char? 's' |
二進制轉十進制
1
2
3
4
5
6
7
8
|
>>> B = '1101' >>> I = 0 >>> while B ! = '': ... I = I * 2 + ( ord (B[ 0 ]) - ord ( '0' )) ... B = B[ 1 :] ... >>> I 13 |
這里的二進制到十進制計算方式是我們已經習慣的計算方法不太一樣,我們一般習慣于給二進制的每一位乘上權值再求和。
而這里的計算方式其實跟左移操作類似,計算的方向為從左到右。
(1)2 = 1
(11)2 = (1)2 << 1 + 1
(110)2 = (11)2 << 1 + 0
(1101)2 = (110)2 << 1 + 1
當然還有更簡單的方式
1
2
3
4
|
>>> int ( '1101' , 2 ) 13 >>> bin ( 13 ) '0b1101' |
為每個字符添加一個間隔符
1
2
3
4
5
6
7
8
9
10
11
12
|
>>> S = 'spammy' >>> L = list (S) >>> L [ 's' , 'p' , 'a' , 'm' , 'm' , 'y' ] >>> L[ 3 ] = 'x' >>> L[ 4 ] = 'x' >>> L [ 's' , 'p' , 'a' , 'x' , 'x' , 'y' ] >>> S = '-' .join(L) >>> S 's-p-a-x-x-y' >>> |
更簡潔的版本
1
2
|
>>> 'SPAM' .join([ 'eggs' , 'sausage' , 'ham' , 'toast' ]) 'eggsSPAMsausageSPAMhamSPAMtoast' |
希望本文所述對大家Python程序設計有所幫助。