python基础语法(三)——— 字符处理相关的一些函数

做编成题目时遇到的一些函数便记录下来了

1、stdin与stdout的学习

sys.stdin.readline( )会将标准输入全部获取,包括末尾的'\n'
如:
import sys
hi1=input()
hi2=sys.stdin.readline()
print(len(hi1))
print(len(hi2))

结果
jdfkjkds
dskjkdf
8

8


在python中调用print时,事实上调用了sys.stdout.write(obj+'\n')
以下两行代码等价:
sys.stdout.write('hello' + '\n')
print('hello')

结果:

hello


2、a.split() a.path.split() (需要import os) a.strip()    

3个字符处理函数 



split():拆分字符串。通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list)
语法:str.split(str="",num=string.count(str))[n]
参数说明:
str:表示为分隔符,默认为空格,但是不能为空('')。若字符串中没有分隔符,则把整个字符串作为列表的一个元素
num:表示分割次数。如果存在参数num,则仅分隔成 num+1 个子字符串,并且每一个子字符串可以赋给新的变量
[n]:   表示选取第n个分片

注意:当使用空格作为分隔符时,对于中间为空的项会自动忽略
例:
#以"."为分隔符分割2次并取序号为[2]的元素 

a='a b . c.fgf.ghg'
b=a.split('.',2)[2]

print(b)


结果
fgf.ghg



#注意比较默认空格符和' '的区别  

'a b   c'.split()  
结果
 ['a', 'b', 'c']  


'a b   c'.split(' ')  
结果
['a', 'b', '', '', 'c']  



#将完整的文件路径分离为文件所在文件夹路径和文件名  
import os  
print os.path.split('D:/Python/python3.6/untitled0.py')  
结果
('D:/Python/python3.6', 'untitled0.py') 

3、str.lower()he str.upper()大小写转换


#利用str.lower()he str.upper()来实现对字符串大小写的转换,巧妙使用列表生成式可过滤掉字符串中含有的空白字符等  
listOfTokens = ['I','am','','good','Boy']  
print [tok.lower() for tok in listOfTokens if len(tok) > 0]  


['i', 'am', 'good', 'boy']  


4、strip删除函数



#a.strip()函数使用实例    


语法: rm为要删除的字符序列,当rm为空时,默认删除空白符(包括'\n', '\r', '\t',  ' ')
str.strip(rm):删除字符串开头、结尾处,位于 rm删除序列的字符;
str.lstrip(rm):删除字符串开头处,位于 rm删除序列的字符;
str.rstrip(rm):删除字符串结尾处,位于 rm删除序列的字符。


c = ' \n\t\rpython  '    
c.strip()  


结果


'python'  

只对首尾进行切除

a='   python  rrrr\tdsfjdhjf   \r\n'
# b=a.strip()

print(a)

结果

   python  rrrr dsfjdhjf   



a='   python  rrrr\tdsfjdhjf   \r\n'
b=a.strip()


print(b)


结果


5、input()函数



input()输入的是字符串类型,即使括号中是数字,最终也为字符串类型


a = input('shuru   ')     将输入后的内容存到变量a中,且类型为str


user = input('ghj')


print(type(user))


结果


ghj
<class 'str'>


user = input(4555)


print(type(user))


结果


4555
<class 'str'>




可通过eval转换为整型


user = input('shuru')
print(type(user))
b=eval(user)
print(b)


print(type(b))


结果


shuru1231
<class 'str'>
1231
<class 'int'>


6、比较大小


这几个函数就是用来替换之前的cmp的,之前使用cmp的同胞们,咱们以后就换上面这些函数咯。
先简单说下这几个函数的意思吧。
lt(a,b) 相当于 a<b     从第一个数字或字母(ASCII)比大小 
le(a,b)相当于a<=b
eq(a,b)相当于a==b     字母完全一样,返回True,
ne(a,b)相当于a!=b
gt(a,b)相当于a>b
ge(a,b)相当于 a>=b
函数的返回值是布尔哦


import operator
a=operator.le(80, 80)
print(a)
a=operator.ge(80, 60)
print(a)



7、排序



函数 sort()用于列表中元素的排序,list.sort() 不会返回对象,会改变原有的list 
(这点与sorted()不同,sorted()函数会返回一个列表,而sort()函数是直接在原来的基础上修改,其次注意语法) 


list1=[1,2,33,4,43]
list1.sort()


print(list1)


结果


[1, 2, 4, 33, 43]

8、join函数



语法:  'sep'.join(seq)
参数说明
sep:分隔符。可以为空
seq:要连接的元素序列、字符串、元组、字典
上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串
返回值:返回一个以分隔符sep连接各个元素后生成的字符串


#对序列进行操作(分别使用' '与':'作为分隔符)
  
>>> seq1 = ['hello','good','boy','doiido']
>>> print ' '.join(seq1)
hello good boy doiido
>>> print ':'.join(seq1)
hello:good:boy:doiido
  
  
#对字符串进行操作
  
>>> seq2 = "hello good boy doiido"
>>> print ':'.join(seq2)
h:e:l:l:o: :g:o:o:d: :b:o:y: :d:o:i:i:d:o
  
  
#对元组进行操作
  
>>> seq3 = ('hello','good','boy','doiido')
>>> print ':'.join(seq3)
hello:good:boy:doiido
  
  
#对字典进行操作
  
>>> seq4 = {'hello':1,'good':2,'boy':3,'doiido':4}
>>> print ':'.join(seq4)
boy:good:doiido:hello
  
  
#合并目录
  
>>> import os
>>> os.path.join('/hello/','good/boy/','doiido')
'/hello/good/boy/doiido'


9、range函数



for i in range(1,5):


    print(i)


结果


1
2
3


4

for i in range(5):


    print(i)


结果


0
1
2
3


4


猜你喜欢

转载自blog.csdn.net/qiurisiyu2016/article/details/80216900
今日推荐