Python论坛  - 讨论区

标题:[python-chinese] python里如何高效率的做list的差集?

2007年04月05日 星期四 15:58

马踏飞燕 honeyday.mj在gmail.com
星期四 四月 5 15:58:26 HKT 2007

我现在有2个很大的list,一个在数据库中,一个是动态获取的,我现在想比较一个动态获取的那个list中的在数据库中没有的元素,然后插入到数据库中。

如何高效的实现呢?没插一条都到数据库里判断的话显然很慢。。。
难道用经典的先排序,再比较剔除?python有没有内部实现的方式?

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

2007年04月05日 星期四 16:04

刘鑫 march.liu在gmail.com
星期四 四月 5 16:04:19 HKT 2007

¹ØϵÐÍÊý¾Ý¿âµÄ»°£¬ÓÐЩÊý¾Ý¿âÌṩinert or updateµÄ¸´ºÏ²Ù×÷£¬Ö»Òª½¨Á¢ºÏÊʵÄË÷Òý£¬¾Í¿ÉÒÔÀûÓÃÀ´×öÕâÖÖÐèÇó¡£

ÔÚ07-4-5£¬Âí̤·ÉÑà <honeyday.mj在gmail.com> дµÀ£º
>
> ÎÒÏÖÔÚÓÐ2¸öºÜ´óµÄlist£¬Ò»¸öÔÚÊý¾Ý¿âÖУ¬Ò»¸öÊǶ¯Ì¬»ñÈ¡µÄ£¬ÎÒÏÖÔÚÏë±È½ÏÒ»¸ö¶¯Ì¬»ñÈ¡µÄÄǸölistÖеÄÔÚÊý¾Ý¿âÖÐûÓеÄÔªËØ£¬È»ºó²åÈëµ½Êý¾Ý¿âÖС£
>
> ÈçºÎ¸ßЧµÄʵÏÖÄØ£¿Ã»²åÒ»Ìõ¶¼µ½Êý¾Ý¿âÀïÅжϵĻ°ÏÔÈ»ºÜÂý¡£¡£¡£
> ÄѵÀÓþ­µäµÄÏÈÅÅÐò£¬ÔٱȽÏÌÞ³ý£¿pythonÓÐûÓÐÄÚ²¿ÊµÏֵķ½Ê½£¿
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese




-- 
µÇɽÕßÈ¥µÇɽ£¬ÒòΪɽÔÚÄÇÀï
ÎÒÔÚ˼¿¼£¬ÒòΪÎÊÌâÔÚÄÇÀï

ÁõöÎ
March.Liu
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20070405/d74b25d0/attachment.html 

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

2007年04月05日 星期四 16:27

东子 hydonlee在gmail.com
星期四 四月 5 16:27:14 HKT 2007

直接insert , 如果出错(已经存在), 放弃就好了.

在07-4-5,刘鑫 <march.liu at gmail.com> 写道:
>
> 关系型数据库的话,有些数据库提供inert or update的复合操作,只要建立合适的索引,就可以利用来做这种需求。
>
> 在07-4-5,马踏飞燕 <honeyday.mj at gmail.com> 写道:
> >
> >
> > 我现在有2个很大的list,一个在数据库中,一个是动态获取的,我现在想比较一个动态获取的那个list中的在数据库中没有的元素,然后插入到数据库中。
> >
> > 如何高效的实现呢?没插一条都到数据库里判断的话显然很慢。。。
> > 难道用经典的先排序,再比较剔除?python有没有内部实现的方式?
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese at lists.python.cn
> > Subscribe: send subscribe to python-chinese-request at lists.python.cn
> > Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> >
> > Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>
>
>
> --
> 登山者去登山,因为山在那里
> 我在思考,因为问题在那里
>
> 刘鑫
> March.Liu
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>



-- 
只要人间真情在, 何必在意路泥泞
时风日下,和谐需要靠暴力达到!!!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://python.cn/pipermail/python-chinese/attachments/20070405/dedb4f8e/attachment.htm 

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

2007年04月06日 星期五 09:44

jinq0123在163.com jinq0123在163.com
星期五 四月 6 09:44:32 HKT 2007

马踏飞燕 wrote:
> 我现在有2个很大的list,一个在数据库中,一个是动态获取的,我现在想比较一个动态获取的那个list中的在数据库中没有的元素,然后插入到数据库中。
>
> 如何高效的实现呢?没插一条都到数据库里判断的话显然很慢。。。
> 难道用经典的先排序,再比较剔除?python有没有内部实现的方式?
>   
转为set, 可以用集合的差:set(list1) - set(list2)



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

2007年04月06日 星期五 09:46

麦田守望者 qcxhome在gmail.com
星期五 四月 6 09:46:31 HKT 2007

On 4/5/07, 马踏飞燕 <honeyday.mj at gmail.com> wrote:
> 我现在有2个很大的list,一个在数据库中,一个是动态获取的,我现在想比较一个动态获取的那个list中的在数据库中没有的元素,然后插入到数据库中。
>
> 如何高效的实现呢?没插一条都到数据库里判断的话显然很慢。。。
> 难道用经典的先排序,再比较剔除?python有没有内部实现的方式?

相信数据库的能力

-- 
GoogleTalk: qcxhome at gmail.com
MSN: qcxhome at hotmail.com
My Space: tkdchen.spaces.live.com
BOINC: boinc.berkeley.edu
中国分布式计算总站: www.equn.com

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

2007年04月07日 星期六 00:40

马踏飞燕 honeyday.mj在gmail.com
星期六 四月 7 00:40:39 HKT 2007

我目前是这样做的,但是list里面的元素如果是dict的话,用set就不灵了。。。说是元素不能hash。。。

在 07-4-6,jinq0123在163.com<jinq0123在163.com> 写道:
> 马踏飞燕 wrote:
> > 我现在有2个很大的list,一个在数据库中,一个是动态获取的,我现在想比较一个动态获取的那个list中的在数据库中没有的元素,然后插入到数据库中。
> >
> > 如何高效的实现呢?没插一条都到数据库里判断的话显然很慢。。。
> > 难道用经典的先排序,再比较剔除?python有没有内部实现的方式?
> >
> 转为set, 可以用集合的差:set(list1) - set(list2)
>
>
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese

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

2007年04月08日 星期日 09:40

yangjun_yulin在126.com yangjun_yulin在126.com
星期日 四月 8 09:40:23 HKT 2007

 Êý¾Ý¿âÉèÖúÃÖ÷¼ü£¬Ö±½Ó°ÑÿһÌõ¶¼²åÈëÊý¾Ý¿â£¬ºöÂÔsql´íÎó£¬ÕâÑùÊý¾Ý¿â¿Ï¶¨ÓÐËùÓеÄÊý¾ÝÁË£®     ÔÚ2007-04-07£¬"Âí̤·ÉÑà" <honeyday.mj在gmail.com> дµÀ£º
 
----Ô­ÓʼþÄÚÈÝÈçÏÂ----
·¢¼þÈË£º"Âí̤·ÉÑà" 
ÊÕ¼þÈË£ºpython-chinese在lists.python.cn
ÈÕÆÚ£ºSat, 7 Apr 2007 00:40:39 +0800 (CST)
Ö÷Ì⣺Re: [python-chinese]pythonÀïÈçºÎ¸ßЧÂʵÄ×ölistµÄ²î¼¯£¿


> ÎÒÄ¿Ç°ÊÇÕâÑù×öµÄ£¬µ«ÊÇlistÀïÃæµÄÔªËØÈç¹ûÊÇdictµÄ»°£¬ÓÃset¾Í²»ÁéÁË¡£¡£¡£ËµÊÇÔªËز»ÄÜhash¡£¡£¡£
> 
> ÔÚ 07-4-6£¬jinq0123在163.com дµÀ¡Ã
> > Âí̤·ÉÑà wrote:
> > > ÎÒÏÖÔÚÓÐ2¸öºÜ´óµÄlist£¬Ò»¸öÔÚÊý¾Ý¿âÖУ¬Ò»¸öÊǶ¯Ì¬»ñÈ¡µÄ£¬ÎÒÏÖÔÚÏë±È½ÏÒ»¸ö¶¯Ì¬»ñÈ¡µÄÄǸölistÖеÄÔÚÊý¾Ý¿âÖÐûÓеÄÔªËØ£¬È»ºó²åÈëµ½Êý¾Ý¿âÖС£
> > >
> > > ÈçºÎ¸ßЧµÄʵÏÖÄØ£¿Ã»²åÒ»Ìõ¶¼µ½Êý¾Ý¿âÀïÅжϵĻ°ÏÔÈ»ºÜÂý¡£¡£¡£
> > > ÄѵÀÓþ­µäµÄÏÈÅÅÐò£¬ÔٱȽÏÌÞ³ý£¿pythonÓÐûÓÐÄÚ²¿ÊµÏֵķ½Ê½£¿
> > >
> > תΪset, ¿ÉÒÔÓü¯ºÏµÄ²î¡Ãset(list1) - set(list2)
> >
> >
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese在lists.python.cn
> > Subscribe: send subscribe to python-chinese-request在lists.python.cn
> > Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> > Detail Info: http://python.cn/mailman/listinfo/python-chinese
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20070408/1dec1a3d/attachment-0001.html 

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

2007年04月08日 星期日 11:11

jessinio smith jessinio在gmail.com
星期日 四月 8 11:11:35 HKT 2007

Õâ²»ÊǶàÁËÒ»¸öÊý¾Ý¿â£¿£¿ÕâÑùºÃÂð£¿

On 4/8/07, yangjun_yulin在126.com <yangjun_yulin在126.com> wrote:
>
>  Êý¾Ý¿âÉèÖúÃÖ÷¼ü£¬Ö±½Ó°ÑÿһÌõ¶¼²åÈëÊý¾Ý¿â£¬ºöÂÔsql´íÎó£¬ÕâÑùÊý¾Ý¿â¿Ï¶¨ÓÐËùÓеÄÊý¾ÝÁË£®
>
>
>
>
>
> ÔÚ2007-04-07£¬"Âí̤·ÉÑà" <honeyday.mj在gmail.com> дµÀ£º
>
> ----Ô­ÓʼþÄÚÈÝÈçÏÂ---- ·¢¼þÈË£º"Âí̤·ÉÑà" ÊÕ¼þÈË£º python-chinese在lists.python.cn ÈÕÆÚ£ºSat, 7
> Apr 2007 00:40:39 +0800 (CST) Ö÷Ì⣺Re: [python-chinese]pythonÀïÈçºÎ¸ßЧÂʵÄ×ölistµÄ²î¼¯£¿
> > ÎÒÄ¿Ç°ÊÇÕâÑù×öµÄ£¬µ«ÊÇlistÀïÃæµÄÔªËØÈç¹ûÊÇdictµÄ»°£¬ÓÃset¾Í²»ÁéÁË¡£¡£¡£ËµÊÇÔªËز»ÄÜhash¡£¡£¡£ > > ÔÚ 07-4-6£¬jinq0123在163.comдµÀ¡Ã > > Âí̤·ÉÑà wrote: > > >
> ÎÒÏÖÔÚÓÐ2¸öºÜ´óµÄlist£¬Ò»¸öÔÚÊý¾Ý¿âÖУ¬Ò»¸öÊǶ¯Ì¬»ñÈ¡µÄ£¬ÎÒÏÖÔÚÏë±È½ÏÒ»¸ö¶¯Ì¬»ñÈ¡µÄÄǸölistÖеÄÔÚÊý¾Ý¿âÖÐûÓеÄÔªËØ£¬È»ºó²åÈëµ½Êý¾Ý¿âÖС£ >
> > > > > > ÈçºÎ¸ßЧµÄʵÏÖÄØ£¿Ã»²åÒ»Ìõ¶¼µ½Êý¾Ý¿âÀïÅжϵĻ°ÏÔÈ»ºÜÂý¡£¡£¡£ > > >
> ÄѵÀÓþ­µäµÄÏÈÅÅÐò£¬ÔٱȽÏÌÞ³ý£¿pythonÓÐûÓÐÄÚ²¿ÊµÏֵķ½Ê½£¿ > > > > > תΪset, ¿ÉÒÔÓü¯ºÏµÄ²î¡Ãset(list1) -
> set(list2) > > > > > > _______________________________________________ > >
> python-chinese > > Post: send python-chinese在lists.python.cn > >
> Subscribe: send subscribe to python-chinese-request在lists.python.cn > >
> Unsubscribe: send unsubscribe to python-chinese-request在lists.python.cn >
> > Detail Info: http://python.cn/mailman/listinfo/python-chinese >
> _______________________________________________ > python-chinese > Post:
> send python-chinese在lists.python.cn > Subscribe: send subscribe to
> python-chinese-request在lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request在lists.python.cn
> > Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>
>
> ------------------------------
> ÿÌìÉÏ°àµÚÒ»¼þÒª×öµÄÊÂÇéÊÇ£¿ ÂíÉÏ¿´¿´>> <http://www.126.com/>
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>



-- 
×¢ÒâÉíÌ壬ÉíÌåÊǸïÃüµÄ±¾Ç®£¡£¡
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20070408/4e666851/attachment.html 

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

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

    你的回复:

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

    Zeuux © 2025

    京ICP备05028076号