鱼C论坛

 找回密码
 立即注册
查看: 3431|回复: 6

[技术交流] 关于23、24课递归多一个变量后运行速度快慢的问题。

[复制链接]
发表于 2014-9-24 15:24:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 swl19880916 于 2014-9-24 17:15 编辑

1.

  1. list1 = []
  2. def get_digits(n):
  3.     if n:
  4.         result = n % 10#给了个变量
  5.         get_digits(n//10)
  6.         list1.append(result)#把变量append进list1,这样就在函数在调用的过程中用递归把变量装进列表。
  7. get_digits(12345)
  8. print(list1)
复制代码

  
2.

  1. result = []
  2. def get_digits(n):
  3.         if n > 0:
  4.                 result.insert(0, n%10)#列表直接insert方法,函数完成任务后插进列表,导致栈的反向,然后达成目的。
  5.                 get_digits(n//10)
  6. get_digits(12345)
  7. print(result)
复制代码

1是我写的,我的方法是多定义一个变量,使函数在运行的过程中用append方法把变量result装进列表,这种就是多一个变量。
2是小甲鱼老师写的,insert()方法,少一个变量。就能达到目的。
问题来了,哪个函数执行速度快?(据说insert方法运行速度慢,能比得过加入一个变量然后多一个append方法的速度吗?)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-9-24 16:22:30 | 显示全部楼层
貌似你那个有点慢啊。 360截图20140924161108165.jpg 我也和你写的一样。还真没注意这个问题。。



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-24 17:11:29 | 显示全部楼层
本帖最后由 swl19880916 于 2014-9-24 17:13 编辑
wei_Y 发表于 2014-9-24 16:22
貌似你那个有点慢啊。我也和你写的一样。还真没注意这个问题。。

就是说,加了变量后速度会慢很多咯,那你把数字打的多一点看看。这个怎么弄的,我还不会弄。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-9-24 17:18:57 | 显示全部楼层
用time模块的clock函数可以实现精确计时,具体参照下面代码:
  1. import time
  2. t1 = time.clock()
  3. res = 0
  4. for i in range(10000000):
  5.     res += i
  6. t2 = time.clock()
  7. print t2 - t1
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-24 17:31:39 | 显示全部楼层
本帖最后由 swl19880916 于 2014-9-24 18:16 编辑
bevin 发表于 2014-9-24 17:18
用time模块的clock函数可以实现精确计时,具体参照下面代码:

thank you very much!,发现还是比小甲鱼老师的慢...说明python中的变量赋予一定要谨慎。总之谢谢啦。有时会变得慢,有时快,但是比重还是insert的高。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-9-24 18:00:09 | 显示全部楼层
swl19880916 发表于 2014-9-24 17:11
就是说,加了变量后速度会慢很多咯,那你把数字打的多一点看看。这个怎么弄的,我还不会弄。

这个问题还真没看到- -。疏忽了。。补一张。 360截图20140924175651754.jpg

其实我也不大会用,看了一下小甲鱼老师的那篇datetime模块详解和百度了一下。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-24 18:17:11 | 显示全部楼层
wei_Y 发表于 2014-9-24 18:00
这个问题还真没看到- -。疏忽了。。补一张。

其实我也不大会用,看了一下小甲鱼老师的那篇da ...

谢谢啦。目前没看time方面
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-8 08:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表