2017年11月07日 PEP8 11月5日課題のコードをPEP8のコードスタイルにあわせてみた。def makeIndex(f): dic = {i: tuple(set(doc.split())) for (i, doc) in enumerate(f)} return(dic)def makeInverseIndex(f): dic = {tuple(set(doc.split())): i for (i, doc) in enumerate(f)} return(dic)def orSearch(dic, query): s = set() for word in query: s1 = {dic[d] for d in dic if word in d} s.update(s1) return(s)def andSearch(dic, query): s = set() key = True for word in query: s1 = {dic[d] for d in dic if word in d} if key: s.update(s1) key = False s.intersection_update(s1) return(s)if __name__ == "__main__": f = open('stories_small.txt') inverseindex = makeInverseIndex(f)# print(inverseindex) query = ['in', 'is', 'human', 'come']# query=['human'] s1 = orSearch(inverseindex, query) print(s1) s2 = andSearch(inverseindex, query) print(s2) f = open('stories_small.txt') ind = makeIndex(f) print(ind[tuple(s2)[0]])
2017年11月07日 本 Pythonクローリング&スクレイピング 加藤耕太 技術評論社Python3ではじめるシステムトレード 森谷博之 Pan Rolling3次元コンピュータビジョン計算ハンドブック 金谷健一、菅谷保之、金澤靖 森北出版
2017年11月06日 行列プログラマー pythonで学ぶ線形代数 1章 行列プログラマー pythonで学ぶ線形代数 Philip N. Klein O'REILLY 1章 体複素数c1=1+2jc2=3.5+4.5ja=1.1print(c1+c2)print(c1-c2)print(c1*c2)print(a*c1)print(c1/c2)print(abs(c1))print(c1.conjugate())print(c1.real)print(c1.imag)