2_字符串

1. 字符串的比較

       1.1 單個字符的比較

s='a'
d=97

>>>ord(s)
97                              ##返回該字符的ASCII碼

>>>chr(d)
a                               ##返回該整數對應的字符

       1.2 多字符的比較

>>>'ab'<'abc'                   ##前綴同樣,誰長誰叼
True

>>>'ab'<'ac'                    ##順序比較,誰第一個字符大誰叼
True


2. 經常使用字符串方法

       2.1 子串查找

s='apple,peach,banana,peach,pear'
sub='peach'

>>>s.find(sub)                  ##返回子串第一個字符出現的位置
6

>>>s.find(sub,7)                ##指明從哪開始找
19

>>>s.find(sub,7,20)             ##找不到返回-1
-1

>>>s.rfind(sub)                 ##逆向查找子串的位置
19

>>>s.index(sub,7,20)            ##找不到返回異常
ValueError

>>>s.partition(sub)             ##以第一個子串爲中間值返回一個三元組
('apple,', 'peach', ',banana,peach,pear')

       2.2 字符串分割

s='apple,peach,banana,peach,pear'

>>>li=s.split(',',1)            ##以分隔符逗號劃分字符串1次,返回列表形式
['apple', 'peach,banana,peach,pear']

ss='''I am
a
good
student
!
'''

>>>s.splitlines()               ##以行爲分割,返回列表形式
['I am', 'a', 'good', 'student', '!']

       2.3 字符串鏈接

li=['apple','peach','banana','peach','pear']
sep=','

>>>s=sep.join(li)               ##以分隔符逗號鏈接列表中的元素,返回字符串
'apple,peach,banana,peach,pear'

       2.4 字符串替換

s='apple,peach,banana,peach,pear'

>>>s1=s.replace('peach','apple')    ##用apple替換字符串中的全部peach
'apple,apple,banana,apple,pear'

>>>s2=s.replace('peach','apple',1)  ##指定替換次數(順序)
'apple,apple,banana,peach,pear'

       2.5 刪除空格

s=' a b c '

>>>s1=s.strip( )                    ##刪除字符串的首尾空格
'a b c'

>>>s2=''.join(s.split(' '))         ##組合方法刪除字符串中的全部空格
'abc'                               ##同理其餘字符也能夠

       2.5 計數子串次數

s='apple,peach,banana,peach,pear'
sub='peach'

>>>cnt=s.count(sub,1,30)            ##在指定起始位置計算子串出現的次數
2


3. 格式化字符串

       3.1 格式化命令的通用結構:

\[ \%[(name)][flags][width].[precision]typecode \]python

       3.2 format函數格式化

              3.2.1 經過位置匹配參數
>>>'{0},{1}'.format('a','b')
'a,b'

>>>'{1},{0}'.format('a','b')
'b,a'
              3.2.1 經過名稱匹配參數
>>>'{color} and {food}'.format(color='red',food='egg')
'red and egg'
              3.2.1 指定進制
>>>'int:{0:d};hex:{0:x};oct:{0:o};bin:{0:b};'.format(42)
'int: 42;hex: 2a;oct: 52;bin: 101010'

>>>'int:{0:d};hex:{0:#x};oct:{0:#o};bin:{0:#b};'.format(42)
'int: 42;hex: 0x2a;oct: 0o52;bin: 0b101010'

       3.3 格式規約

>>>'{:<20}'.format('left aligned')
>>>'{:>20}'.format('left aligned')
>>>'{:^20}'.format('left aligned')
>>>'{:20}'.format('left aligned')
>>>'{:-^20}'.format('left aligned')
>>>'{:.<20}'.format('left aligned')
>>>'{:.20}'.format('left aligned')

'left aligned        '
'        left aligned'
'    left aligned    '
'left aligned        '
'----left aligned----'
'left aligned........'
'left aligned'


4. 字符串遍歷

       4.1 普通遍歷

s='information'

>>>length=len(s)
>>>for x in range(length):
    print(x,end=' ')
0 1 2 3 4 5 6 7 8 9 10

>>>for x in range(length):
    print(s[x],end=' ')
i n f o r m a t i o n

       4.2 迭代器遍歷

s='information'

>>>for index,x in enumerate(s):
    print(index,x)
0 i
1 n
2 f
3 o
4 r
5 m
6 a
7 t
8 i
9 o
10 n
相關文章
相關標籤/搜索