第三章
1
s='colorless'
s=s[:s.index('r')]+'u'+s[s.index('r'):]
2
s[:s.index('-')]
4
5
monty[::-1]可以逆置列表
6
p=r'[a-zA-Z]+'
nltk.re_show(p,'123asd456')
nltk.re_show(p,'123asd456asd')
p='[A-Z][a-z]*'
nltk.re_show(p,'123asd456asd')
nltk.re_show(p,'Aadsds123asd456asd')
p='p[aeiou]{,2}t'
nltk.re_show(p,'paat'')
nltk.re_show(p,'paat')
nltk.re_show(p,'padst')
nltk.re_show(p,'padsst')
p='\d+(\.\d+)?'
nltk.re_show(p,'2312.12345dsa')
7
9
a.
pattern = r'''(?x) # set flag to allow verbose regexps
[][.,;"'?():-_`] # these are separate tokens
'''
nltk.regexp_tokenize(text, pattern)
b.
pattern =r'''(?x) # set flag to allow verbose regexps
([A-Z]\.)+ # abbreviations, e.g. U.S.A.
| [A-Z][a-z]*\s[A-Z][a-z]* # words with optional internal
| \$?\d+(\.\d+)?%? # currency and percentages, e.g. $12.40, 82%
| \d+-\d+-\d+
'''
10
11
12
13
S.split(sep=None, maxsplit=-1) -> list of strings
Return a list of the words in S, using sep as the
delimiter string. If maxsplit is given, at most maxsplit
splits are done. If sep is not specified or is None, any
whitespace string is a separator and empty strings are
removed from the result.
14
list的方法sort是in place排序,可以改变自身,sorted方法返回排序后的list,不影响自身
18
sorted([w for w in text if w.lower().startswith('wh')])
19
result=[]
text=['a 10','b 20','c 30']
for line in text:
...: w,x=tuple(line.split())
...: result.append((w,x))
21
def unknown(url):
unknown('http://www.gutenberg.org/files/11/11-h/11-h.htm')
resp=urllib.request.urlopen('http://www.gutenberg.org/files/11/11-h/11-h.htm')
raw=resp.read().decode('utf-8')
words=nltk.word_tokenize(raw)
unknown=[w for w in words if w not in wn.words()]
24
p1=r'e'
p2=r'i'
p3='o'
p4=r'[.]'
p5=r'ate'
p6=r'^s'
p7=r's'
p8=r'1'
def f(s):
s=re.sub(p1,'3',s)
s=re.sub(p2,'1',s)
s=re.sub(p3,'0',s)
s=re.sub(p4,'5w33t!')
s=re.sub(p5,'8',s)
s=re.sub(p6,'$',s)
s=re.sub(p7,'5',s)
s=re.sub(p8,'|',s)
31
saying=['After', 'all', 'is', 'said', 'and', 'done', ',', 'more', 'is', 'said', 'than', 'done', '.']
lengths=[]
for w in saying:
lengths.append(w)
lengths=[w for w in saying]
32
silly='newly formed bland ideas are inexpressible in an infuriating way'
bland=silly.split()
from functools import reduce
s=reduce(lambda x,y:x+y,[w[1] for w in bland])
' '.join(bland)
sorted(bland)
作者:Jasonhaven.D
链接:http://www.jianshu.com/u/ed031e432b82
來源:
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。