Python论坛  - 讨论区

标题:Re: Spam: [python-chinese] list如何实现distinct的功能?

2005年08月17日 星期三 08:53

wangzhe wangzhe at eastcom.com
Wed Aug 17 08:53:22 HKT 2005

马踏飞燕,您好!

	[].append(item)操作是个比较费时的操作,你为什么又保存又写文件呢? 我做了个实验:


import time

a=(1,2,3,1,2,564,6,45,4,3,2,12,2,1,2,6,3,433,3)
b=[]

t1 = time.clock()
for item in a:
    if item not in b:
        b.append(item)
t2 = time.clock()
print t2 - t1, b

b={}
t1 = time.clock()
for item in a:
    try:
        b[item] = ''
    except:
        pass
t2 = time.clock()
print t2 - t1, b.keys()      在我的机器上时间比大约是5:3,可以节约一点时间。不知道是否有用。

======= 2005-08-17 01:23:09 您在来信中写道:=======

>我有一个很大的列表,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


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年08月17日 星期三 10:17

sizkim sizkim at 163.com
Wed Aug 17 10:17:41 HKT 2005

wangzhe 写道:

>马踏飞燕,您好!
>
>	[].append(item)操作是个比较费时的操作,你为什么又保存又写文件呢? 我做了个实验:
>
>
>import time
>
>a=(1,2,3,1,2,564,6,45,4,3,2,12,2,1,2,6,3,433,3)
>b=[]
>.......
>
>print t2 - t1, b.keys()      在我的机器上时间比大约是5:3,可以节约一点时间。不知道是否有用。
>  
>
这个测试的数据量太小了吧,不足以代表大数据量的情况,因为随着数据量增大程
序个部分开销比例会不同。我在我的机器上跑这个程序,结果是:
0.0 [1, 2, 3, 564, 6, 45, 4, 12, 433]
0.0 [1, 2, 3, 4, 6, 12, 45, 433, 564]

另外,这位wangzhe你的foxmail好像破坏了列表的线索,为了大家阅读方便以及存
档,可以试试用Thunderbird,我刚刚开始用,可以按照线索树状排列,很方便。
关于列表邮件客户端具体请看
http://wiki.woodpecker.org.cn/moin/PythonCN/FAQ#head-8d7a8f22047fb51e87fecd6ce6f53f9e2f220ae0

>======= 2005-08-17 01:23:09 您在来信中写道:=======
>
>  
>
>>我有一个很大的列表,100万条以上的数据,其中有大量的数据是重复的。
>>我想实现像sql语句里面的select distinct的功能,就是删除重复的数据。
>>我现在能想到的就是建一个临时列表,然后对原列表遍历,再与临时表进行比较,如果重复就跳过。但是这样会形成巨大的循环量,请问有没有更先进的做法呢?
>>    
>>
>


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年08月17日 星期三 20:07

tan boyee boyee118 at gmail.com
Wed Aug 17 20:07:19 HKT 2005

还没用过,能详细点吗?比如下载地址,什么的!

在05-8-18,mahongquan <mahongquan730208 at 163.com> 写道: 
> 
> 今天安装了colinux,在windows下运行,速度快,很酷
> 
> 
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050817/ee2fee83/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年08月17日 星期三 21:46

Tom zysno1 at gmail.com
Wed Aug 17 21:46:50 HKT 2005

一段小程序,请教一个简单的问题。

下面的这个put,get是什么意思??
中间用,分割,这是什么数据类型阿??

put,get是
import os
import re

put,get = os.popen4("du /root/*")

for user in get.readlines():
print user

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年08月17日 星期三 21:56

limodou limodou at gmail.com
Wed Aug 17 21:56:53 HKT 2005

在 05-8-17,Tom<zysno1 at gmail.com> 写道:
> 一段小程序,请教一个简单的问题。
> 
> 下面的这个put,get是什么意思??
> 中间用,分割,这是什么数据类型阿??
> 
> put,get是
> import os
> import re
> 
> put,get = os.popen4("du /root/*")
> 
> for user in get.readlines():
> print user

只是起名的问题。你查一下os模块的popen4的说明就清楚了。改为:input, ouput 你是否明白?

-- 
I like python! 
My Donews Blog: http://www.donews.net/limodou

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年08月18日 星期四 05:33

mahongquan mahongquan730208 at 163.com
Thu Aug 18 05:33:31 HKT 2005

今天安装了colinux,在windows下运行,速度快,很酷



[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年08月18日 星期四 09:09

TianLiangLe alang.yl at gmail.com
Thu Aug 18 09:09:31 HKT 2005

在05-8-17,tan boyee <boyee118 at gmail.com> 写道:
> 
> 还没用过,能详细点吗?比如下载地址,什么的!
> 
> 在05-8-18,mahongquan <mahongquan730208 at 163.com> 写道: 
> > 
> > 今天安装了colinux,在windows下运行,速度快,很酷
> 
> 
Google一下就有了。www.colinux.org <http://www.colinux.org>。
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050818/6c55a82a/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年08月18日 星期四 13:10

jin xing kinnsei at gmail.com
Thu Aug 18 13:10:17 HKT 2005

好像不错,不过没用过哈。。


在 05-8-19,mahongquan<mahongquan730208 at 163.com> 写道:
> colinux的运行与vmware虚拟机类似。colinux安装后使用镜像文件和虚拟网卡。
> colinux 安装程序提供debian,gentoo两种linux包,我用的debian。apt-get可用。X
> window 可使用remote X server方式在本机上实现。在host机器上安装Xserver,xhost
> 加入虚拟机.colinux里设置DISPLAY环境变量后,可以在host机上显示gui程序。
> ----- Original Message -----
> From: "TianLiangLe" <alang.yl at gmail.com>
> To: <python-chinese at lists.python.cn>
> Sent: Wednesday, August 17, 2005 6:09 PM
> Subject: Re: [python-chinese] colinux very cool
> 
> 
> > 在05-8-17,tan boyee <boyee118 at gmail.com> 写道:
> > >
> > > 还没用过,能详细点吗?比如下载地址,什么的!
> > >
> > > 在05-8-18,mahongquan <mahongquan730208 at 163.com> 写道:
> > > >
> > > > 今天安装了colinux,在windows下运行,速度快,很酷
> > >
> > >
> > Google一下就有了。www.colinux.org <http://www.colinux.org>。
> >
> 
> 
> ----------------------------------------------------------------------------
> ----
> 
> 
> > _______________________________________________
> > python-chinese list
> > python-chinese at lists.python.cn
> > http://python.cn/mailman/listinfo/python-chinese
> >
> 
> 
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
> 


-- 

联系电话:0512-62216515 QQ:104609351 
MSN:kinnsei1 at hotmail.com
skype:kinnsei98

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年08月18日 星期四 20:53

Tom zysno1 at gmail.com
Thu Aug 18 20:53:32 HKT 2005

我是一个编程菜鸟。特别是对面向对象。。所以还是非常简单的问题。。

我使用elementtree来编辑xml文件。

按照文档中的例子,能够查询一个xml文件指定的一个变量

比如



4.0

/dev/hda1




代码如下
from elementtree import ElementTree

elem = ElementTree.parse('/root/config.xml')

print elem.findtext('system/rootdevice')

打印结果为/dev/hda1。

我想要实现的是把这个变量的值改成/dev/hda2,然后写回config.xml。。

非常简单的功能。。但是我看了一下午的文档了,还是没有学会如何作。而且今天
必须解决这个问题。

只好求助各位了。。帮个忙。谢谢!!

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年08月18日 星期四 22:04

Wang Kebo mep_ at 163.com
Thu Aug 18 22:04:46 HKT 2005

Tom wrote:
> 代码如下
> from elementtree import ElementTree
> 
> elem = ElementTree.parse('/root/config.xml')
> 
> print elem.findtext('system/rootdevice')

建议一:
对ElementTree对象进行操作,在调用它的write方法;

建议二:
XML做配置文件对于Python来说是最麻烦的了,直接把配置放在一个py文件中不好吗?
反正不同重新编译;使用ini文件也方便得多。

__
Best Regards,

Kebo Wang

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年08月19日 星期五 01:28

mahongquan mahongquan730208 at 163.com
Fri Aug 19 01:28:18 HKT 2005

colinux的运行与vmware虚拟机类似。colinux安装后使用镜像文件和虚拟网卡。
colinux 安装程序提供debian,gentoo两种linux包,我用的debian。apt-get可用。X
window 可使用remote X server方式在本机上实现。在host机器上安装Xserver,xhost
加入虚拟机.colinux里设置DISPLAY环境变量后,可以在host机上显示gui程序。
----- Original Message ----- 
From: "TianLiangLe" <alang.yl at gmail.com>
To: <python-chinese at lists.python.cn>
Sent: Wednesday, August 17, 2005 6:09 PM
Subject: Re: [python-chinese] colinux very cool


> 在05-8-17,tan boyee <boyee118 at gmail.com> 写道:
> >
> > 还没用过,能详细点吗?比如下载地址,什么的!
> >
> > 在05-8-18,mahongquan <mahongquan730208 at 163.com> 写道:
> > >
> > > 今天安装了colinux,在windows下运行,速度快,很酷
> >
> >
> Google一下就有了。www.colinux.org <http://www.colinux.org>。
>


----------------------------------------------------------------------------
----


> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
>



[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号