2006年06月20日 星期二 16:18
正在看drive into python,python有这么一个不同的地方: 如果在 list 中没有找到值, Python 会引发一个异常来响应 index 方法。 那么我要删除的话,有两种基本方法: 1 先用 in 判断,然后再删除 2 直接删除,并捕获异常 用方法1的话,效率上显然是划不来的 用方法2的话,感觉又有点不好 我倾向用1,这个损耗如果不是在循环中,基本可以忽略,而利用异常不是一个好的习惯。 想问大家都用哪种方法? -- Regards, Samuel http://www.SamuelChen.net
2006年06月20日 星期二 16:20
再顺道问一下,书中提到了list有pop,但有没有push却没有提,有么? 如果没有的话,是不是就认为append替代了?因为list pop的是最后一个对象,而append正好是加到最后。 On 6/20/06, Samuel <samuel.net at gmail.com> wrote: > 正在看drive into python,python有这么一个不同的地方: > 如果在 list 中没有找到值, Python 会引发一个异常来响应 index 方法。 > > 那么我要删除的话,有两种基本方法: > 1 先用 in 判断,然后再删除 > 2 直接删除,并捕获异常 > > 用方法1的话,效率上显然是划不来的 > 用方法2的话,感觉又有点不好 > > 我倾向用1,这个损耗如果不是在循环中,基本可以忽略,而利用异常不是一个好的习惯。 > > 想问大家都用哪种方法? > > -- > Regards, Samuel > http://www.SamuelChen.net > -- Regards, Samuel http://www.SamuelChen.net
2006年06月20日 星期二 16:22
再顺道一下,subject中的[python-chinese]是自己加的还是服务器加的? On 6/20/06, Samuel <samuel.net at gmail.com> wrote: > 再顺道问一下,书中提到了list有pop,但有没有push却没有提,有么? > 如果没有的话,是不是就认为append替代了?因为list pop的是最后一个对象,而append正好是加到最后。 > > On 6/20/06, Samuel <samuel.net at gmail.com> wrote: > > 正在看drive into python,python有这么一个不同的地方: > > 如果在 list 中没有找到值, Python 会引发一个异常来响应 index 方法。 > > > > 那么我要删除的话,有两种基本方法: > > 1 先用 in 判断,然后再删除 > > 2 直接删除,并捕获异常 > > > > 用方法1的话,效率上显然是划不来的 > > 用方法2的话,感觉又有点不好 > > > > 我倾向用1,这个损耗如果不是在循环中,基本可以忽略,而利用异常不是一个好的习惯。 > > > > 想问大家都用哪种方法? > > > > -- > > Regards, Samuel > > http://www.SamuelChen.net > > > > > -- > Regards, Samuel > http://www.SamuelChen.net > -- Regards, Samuel http://www.SamuelChen.net
2006年06月20日 星期二 16:25
删除一个不存在的东西我觉得本来就应该是个异常。 不应该把它忽略掉 -- http://codeplayer.blogbus.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060620/8afdd77b/attachment.htm
2006年06月20日 星期二 16:25
所以我偏向第二种。 -- http://codeplayer.blogbus.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060620/cfb3b0ac/attachment.htm
2006年06月20日 星期二 16:31
既然append跟push功能一样,还要push做什么 2006/6/20, Samuel <samuel.net at gmail.com>: > > 再顺道问一下,书中提到了list有pop,但有没有push却没有提,有么? > 如果没有的话,是不是就认为append替代了?因为list pop的是最后一个对象,而append正好是加到最后。 > > On 6/20/06, Samuel <samuel.net at gmail.com> wrote: > > 正在看drive into python,python有这么一个不同的地方: > > 如果在 list 中没有找到值, Python 会引发一个异常来响应 index 方法。 > > > > 那么我要删除的话,有两种基本方法: > > 1 先用 in 判断,然后再删除 > > 2 直接删除,并捕获异常 > > > > 用方法1的话,效率上显然是划不来的 > > 用方法2的话,感觉又有点不好 > > > > 我倾向用1,这个损耗如果不是在循环中,基本可以忽略,而利用异常不是一个好的习惯。 > > > > 想问大家都用哪种方法? > > > > -- > > Regards, Samuel > > http://www.SamuelChen.net > > > > > -- > Regards, Samuel > http://www.SamuelChen.net > > _______________________________________________ > 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 > > -- Ocean mail: chocean at gmail.com homepage: www.oceanisland.com.cn -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060620/f78343f5/attachment.html
2006年06月20日 星期二 16:45
Knuth说过,预优化是万恶之源。 除非确定了真正的效率瓶颈,否则任何牺牲可读性和代码风格的"优化"我认为都是不可接受的。 On 6/20/06, Samuel <samuel.net at gmail.com> wrote: > > 正在看drive into python,python有这么一个不同的地方: > 如果在 list 中没有找到值, Python 会引发一个异常来响应 index 方法。 > > 那么我要删除的话,有两种基本方法: > 1 先用 in 判断,然后再删除 > 2 直接删除,并捕获异常 > > 用方法1的话,效率上显然是划不来的 > 用方法2的话,感觉又有点不好 > > 我倾向用1,这个损耗如果不是在循环中,基本可以忽略,而利用异常不是一个好的习惯。 > > 想问大家都用哪种方法? > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060620/02d6712d/attachment.htm
2006年06月20日 星期二 16:49
是后者。 发信或者回信的时候都不必特意修改标题。 On 6/20/06, Samuel <samuel.net at gmail.com> wrote: > > 再顺道一下,subject中的[python-chinese]是自己加的还是服务器加的? > > On 6/20/06, Samuel <samuel.net at gmail.com> wrote: > > 再顺道问一下,书中提到了list有pop,但有没有push却没有提,有么? > > 如果没有的话,是不是就认为append替代了?因为list pop的是最后一个对象,而append正好是加到最后。 > > > > On 6/20/06, Samuel <samuel.net at gmail.com> wrote: > > > 正在看drive into python,python有这么一个不同的地方: > > > 如果在 list 中没有找到值, Python 会引发一个异常来响应 index 方法。 > > > > > > 那么我要删除的话,有两种基本方法: > > > 1 先用 in 判断,然后再删除 > > > 2 直接删除,并捕获异常 > > > > > > 用方法1的话,效率上显然是划不来的 > > > 用方法2的话,感觉又有点不好 > > > > > > 我倾向用1,这个损耗如果不是在循环中,基本可以忽略,而利用异常不是一个好的习惯。 > > > > > > 想问大家都用哪种方法? > > > > > > -- > > > Regards, Samuel > > > http://www.SamuelChen.net > > > > > > > > > -- > > Regards, Samuel > > http://www.SamuelChen.net > > > > > -- > Regards, Samuel > http://www.SamuelChen.net > > _______________________________________________ > 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://lists.exoweb.net/pipermail/python-chinese/attachments/20060620/f805ae16/attachment.html
2006年06月20日 星期二 16:59
我觉得这取决于上下文。 如果相关的程序逻辑隐含了"正常情况下,list中应该有这个元素"这样一个语义,那才是应该用异常处理的情况。 如果存在或者不存在都只是可能的分支流程,那么应该相应的用if语句来控制这个流程。 其实大多数时候还是后者吧。 On 6/20/06, yi huang <yi.codeplayer at gmail.com> wrote: > > 删除一个不存在的东西我觉得本来就应该是个异常。 > 不应该把它忽略掉 > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060620/163721f8/attachment.htm
Zeuux © 2025
京ICP备05028076号