标题: 一些笔记 [打印本页] 作者: 肖慎江 时间: 2018-8-1 23:27 标题: 一些笔记 1.找出具体的单词
text='I can really miss you, you know?' #定义一个语句
print len(text) #输出句子长度,包括空格
text1=text.split(' ') #以空格拆分语句
print text1
print [w for w in text1 if len(w)>3] #找出text1中长度大于三的单词
print [w for w in text1 if w.endswith('s')] #找出在text1中以s结尾的单词
2.用set()找出独特的单词
text2='To be or not to be'
text3=text2.split(' ')
print len(text3) # 6
print set(text3) # 这里会发现To和to会被认为是不同的单词
print len(set(text3)) #会输出5,(希望是4)
print set([w.lower() for w in text3]) #只需要将所有单词先变小写,再找出独特词汇
3.用于字符比较的函数
假设s和a均为字符,
a.startswith(s) #是否以s开口
a.endswith(s) #是否以s结尾
a.isalpha() ; a.isdigit(); a.isalnum() #alpha代表字母,digit代表0-9的数字,alnum代表字母或数字
a.isupper(); a.islower(); a.istitle() #当全部字母为大写时,isupper为true,istitle只当首字母大写才为true
4.字符的操作
假设a为语句
a.lower(); a.upper(); a.title(); a.split() #分别用于转换大小写和拆分字符
a.split(); a.splitlines(); a.rsplit() #可以用于不同目的拆分,split默认从左到右,split(' ',1)指定了最大拆分数目,rsplit从右边开始拆分
[w for w in a.split() if w.startswith('#')] #找到句子a中以#字符开头的单词
a.join(s) #在s中循环插入a
s.strip() ; s.rstrip() # 将空格和tab都分离出来,rstrip表示从右往左
s.find(t)
list(text) # 将一段文字或者单词拆分为字符 等同于 [w for w in text]
a.split() 后如果出现很多空格和tab,那么可以通过a.strip().split()来清洗数据
a.find(); a.rfind(); a.replace('o','O') #替换和查找
f=open('xxx.txt','r')
f.readline() # read file line by line
f.read() # read lines of the full files
f.read().splitlines() # read characters into lines