PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
Python
[问题] 请教更高效的比对方法(已解决)
楼主:
shala
(沙罗)
2019-03-03 00:27:48
我有两个纯文字档
①Keyword.txt:待整理的关键字集
②NG.txt:已确定剔除的关键字集
两个档案都是每行一个关键字,各约1000行
我的工作是把Keyword.txt和NG.txt比对,如果Keyword.txt中的关键字未收录在NG.txt里
,则写入Temp.txt
我的做法是把NG.txt的内容存成字典,然后将Keyword.txt中的关键字逐一与字典比对
但这个方法似乎效率不太好,花了1分钟以上的时间才完成
所以想请教有无更高效率的做法?
作者:
Sunal
(SSSSSSSSSSSSSSSSSSSSSSS)
2019-03-03 00:31:00
你每读一行NG就要开档关档一次? 另外不要用关键字当变量名其实是开档两次 temp.txt跟ketword.txt一次读完NG & keyword档案再一次写到 temp.txt就好
作者:
djshen
(djshen)
2019-03-03 00:44:00
O(n)的东西写成O(n^2)..
作者:
TitanEric
(泰坦)
2019-03-03 01:03:00
set difference
作者: edwar (海边的野孩子)
2019-03-03 01:36:00
t=open 到 t.close 的缩排位置错了, 要跟第一个for一样
作者:
nini200
(200妮妮)
2019-03-03 01:36:00
keyword集合A NG集合B A-B?
作者: edwar (海边的野孩子)
2019-03-03 01:38:00
还有,存放NG关键字dict的变量名字最好换一下,比如用ng变量名字取dict可能会有问题
作者:
lemon651
(小明)
2019-03-03 02:41:00
set difference 就解了阿既然你都知道有set或是dict这种数据结构 怎么会想要每查一个字打开另一个档爬一遍阿...我建议看一下你其他地方的文件读写是不是也是这种写法,计算不花时间,io的时间不知道耗费了多少
作者:
p8p8
(..)
2019-03-03 04:22:00
你的两个for loop要在同一个indent啦~你现在这样是nested loop,造成每读一行NG.txt,就读取一整个Keyword.txt一次,那当然效率很差本来应该是O(N+M)的,你的写法是O(NM)差很多还有跟前几楼说的一样,用set即可不需用dictionary
作者:
sean50301
( (づ′・ω・)づ)
2019-03-03 16:40:00
ahocorasick
作者:
utopia12
(......)
2019-03-04 04:43:00
Don’t use naive solutions, try elasticsearch
楼主:
shala
(沙罗)
2019-03-04 17:44:00
可以解释为什么吗?谢谢
继续阅读
[问题] 旅游资讯网站同步订房网站
a5772803
[问题] Tkinter 执行问题
yimean
[问题] 怎么让循环一直跑下去
shooty
[问题] colab上有类似terminal功能可以使用吗?
jasonfghx
[问题] 请问解压缩档案要如何读取?
alubasteve
[问题] AWS执行Python脚本问题
TZULIU
[教学] PyQt5 系列 Matplotlib 动画教学
HenryLiKing
[问题] folium Json 地图加载编码问题
heavyking02
[问题] sys.argv无法取得拖曳的Unicode路径
shala
[问题] 递回中的循环问题
gene50814
Links
booklink
Contact Us: admin [ a t ] ucptt.com