2005年08月17日 星期三 08:57
panhudie,您好! set()是哪个模块的? ======== 2005-08-17 02:47:55 您在来信中写道: ======== def do(): fin=open('chap1.txt') lines = [line for line in fin] slines=set(line) print 'lines :', len(lines) print 'sline :', len(slines) 这个'chap1.txt'是4m %time do() lines : 102996 slines : 4303 CPU times: user 0.20 s, sys: 0.00 s, total: 0.20 s Wall time: 0.20 这个'chap1.txt'是16m %time do() lines : 411984 slines : 4303 CPU times: user 0.80 s, sys: 0.00 s, total: 0.80 s Wall time: 0.80 On 8/17/05, 马踏飞燕 <honeyday.mj at gmail.com> wrote: 我有一个很大的列表,100万条以上的数据,其中有大量的数据是重复的。 我想实现像sql语句里面的select distinct的功能,就是删除重复的数据。 我现在能想到的就是建一个临时列表,然后对原列表遍历,再与临时表进行比较,如果重复就跳过。但是这样会形成巨大的循环量,请问有没有更先进的做法呢? fin = open('d:\\ppp.txt','r') fout = open('d:\\ppp2.txt','w') lines = fin.readlines() distinct_line = [] for line in lines: if line not in distinct_line: distinct_line.append(line) fout.write(line) fout.close() fin.close() 其中,ppp.txt有100万行,我运行了一下,似乎程序永远也不会停止了。。。。5分钟都没有运算完,最后只好强制结束。 _______________________________________________ python-chinese list python-chinese at lists.python.cn http://python.cn/mailman/listinfo/python-chinese = = = = = = = = = = = = = = = = = = = = = = 致 礼! wangzhe wangzhe at eastcom.com 2005-08-17 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050817/c6a9e45b/attachment.htm
2005年08月17日 星期三 09:12
class MyFrame(wxFrame): def __init__(self, parent, ID, title): wxFrame.__init__(self, parent, ID, title, wxDefaultPosition, wxSize(1024, 768)) self.CreateToolBar() self.SetToolBar("xxxx") self.CreateStatusBar() self.SetStatusText("xxx") 。。。。。。。 以上是窗体代码,下面的省了 ,为什么这个toolbar就不行,加上去就报错,我看了 api的,是这样用的,请大侠们指教!谢谢 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050817/8f0d2c74/attachment.html
2005年08月17日 星期三 09:29
On 8/17/05, wangzhe <wangzhe at eastcom.com> wrote: > set()是哪个模块的? > python2.4 Built-In 模块 不过set()过后顺序会被打乱, 这个是用dict()不过要慢一些,但还是有可能line的顺序会被打乱 def do(): lines = [(line,i) for i,line in enumerate(open('chap1.txt'))] print len(lines) linesDict = dict(lines) lines = linesDict.items() import operator lines.sort(key=operator.itemgetter(1)) print len(lines) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050817/e85eb4c7/attachment.htm
2005年08月17日 星期三 09:29
在 05-8-17,wangzhe<wangzhe at eastcom.com> 写道: > panhudie,您好! > > set()是哪个模块的? > 在2.3中是Sets模块的,到了2.4就变成内置函数了。 -- I like python! My Donews Blog: http://www.donews.net/limodou
2005年08月17日 星期三 09:34
在 05-8-17,jam.zheng<jam.zheng at achievo.com> 写道: > > class MyFrame(wxFrame): > def __init__(self, parent, ID, title): > wxFrame.__init__(self, parent, ID, title, wxDefaultPosition, > wxSize(1024, 768)) > self.CreateToolBar() > self.SetToolBar("xxxx") > self.CreateStatusBar() > self.SetStatusText("xxx") > 。。。。。。。 > > 以上是窗体代码,下面的省了 > ,为什么这个toolbar就不行,加上去就报错,我看了api的,是这样用的,请大侠们指教!谢谢 具体报什么错误? 执行了CreateToolBar()后为什么还执行SetToolBar()呢?还有你创建了ToolBar却没有把生成的对象保存,以后怎么用它呀? -- I like python! My Donews Blog: http://www.donews.net/limodou
Zeuux © 2025
京ICP备05028076号