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 \]

       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
posted @ 2019-03-29 16:24  JeffreyLee  阅读(334)  评论(0编辑  收藏  举报