三种递归比较

82 篇文章 0 订阅
In [29]: import time                                                                                                                                                                                        

In [30]: def f(s): 
    ...:     new_s = [] 
    ...:     for i in s: 
    ...:         new_s.append(str(i)) 
    ...:     return new_s 
    ...: if __name__ == '__main__': 
    ...:     start = time.time() 
    ...:     m_1 = f(test_list) 
    ...:     end_1 = time.time() 
    ...:     m_2 = [str(s) for s in test_list] 
    ...:     end_2 = time.time() 
    ...:     m_3 = list(map(str, test_list)) 
    ...:     end_3 = time.time() 
    ...:     print('普通for循环:{}, 列表式递推:{}, map函数:{}' 
    ...:           .format(end_3 - end_2, end_2 - end_1, end_1 - start)) 
    ...:                                                                                                                                                                                                    
普通for循环:0.0013279914855957031, 列表式递推:0.0015621185302734375, map函数:0.0020105838775634766

In [31]: def f(s): 
    ...:     new_s = [] 
    ...:     for i in s: 
    ...:         new_s.append(str(i)) 
    ...:     return new_s 
    ...: if __name__ == '__main__': 
    ...:     start = time.time() 
    ...:     m_1 = f(test_list) 
    ...:     end_1 = time.time() 
    ...:     m_2 = [str(s) for s in test_list] 
    ...:     end_2 = time.time() 
    ...:     m_3 = list(map(str, test_list)) 
    ...:     end_3 = time.time() 
    ...:     print('普通for循环:{}, 列表式递推:{}, map函数:{}' 
    ...:           .format(end_3 - end_2, end_2 - end_1, end_1 - start)) 
    ...:                                                                                                                                                                                                    
普通for循环:0.0012891292572021484, 列表式递推:0.0015742778778076172, map函数:0.0020847320556640625

In [32]: def f(s): 
    ...:     new_s = [] 
    ...:     for i in s: 
    ...:         new_s.append(str(i)) 
    ...:     return new_s 
    ...: if __name__ == '__main__': 
    ...:     start = time.time() 
    ...:     m_1 = f(test_list) 
    ...:     end_1 = time.time() 
    ...:     m_2 = [str(s) for s in test_list] 
    ...:     end_2 = time.time() 
    ...:     m_3 = list(map(str, test_list)) 
    ...:     end_3 = time.time() 
    ...:     print('普通for循环:{}, 列表式递推:{}, map函数:{}' 
    ...:           .format(end_3 - end_2, end_2 - end_1, end_1 - start)) 
    ...:                                                                                                                                                                                                    
普通for循环:0.0012030601501464844, 列表式递推:0.0015230178833007812, map函数:0.0020287036895751953

In [33]: def f(s): 
    ...:     new_s = [] 
    ...:     for i in s: 
    ...:         new_s.append(str(i)) 
    ...:     return new_s 
    ...: if __name__ == '__main__': 
    ...:     test_list = range(1000000) 
    ...:     start = time.time() 
    ...:     m_1 = f(test_list) 
    ...:     end_1 = time.time() 
    ...:     m_2 = [str(s) for s in test_list] 
    ...:     end_2 = time.time() 
    ...:     m_3 = list(map(str, test_list)) 
    ...:     end_3 = time.time() 
    ...:     print('普通for循环:{}, 列表式递推:{}, map函数:{}' 
    ...:           .format(end_3 - end_2, end_2 - end_1, end_1 - start)) 
    ...:            
    ...:                                                                                                                                                                                                    
普通for循环:0.13965439796447754, 列表式递推:0.1729893684387207, map函数:0.21480298042297363

In [34]: def f(s): 
    ...:     new_s = [] 
    ...:     for i in s: 
    ...:         new_s.append(str(i)) 
    ...:     return new_s 
    ...: if __name__ == '__main__': 
    ...:     test_list = range(1000000) 
    ...:     start = time.time() 
    ...:     m_1 = f(test_list) 
    ...:     end_1 = time.time() 
    ...:     m_2 = [str(s) for s in test_list] 
    ...:     end_2 = time.time() 
    ...:     m_3 = map(str, test_list) 
    ...:     end_3 = time.time() 
    ...:     print('普通for循环:{}, 列表式递推:{}, map函数:{}' 
    ...:           .format(end_3 - end_2, end_2 - end_1, end_1 - start)) 
    ...:            
    ...:                                                                                                                                                                                                    
普通for循环:0.011281013488769531, 列表式递推:0.1831061840057373, map函数:0.22450542449951172

In [35]: def f(s): 
    ...:     new_s = [] 
    ...:     for i in s: 
    ...:         new_s.append(str(i)) 
    ...:     return new_s 
    ...: if __name__ == '__main__': 
    ...:     test_list = range(1000000) 
    ...:     start = time.time() 
    ...:     m_1 = f(test_list) 
    ...:     end_1 = time.time() 
    ...:     m_2 = [str(s) for s in test_list] 
    ...:     end_2 = time.time() 
    ...:     m_3 = map(str, test_list) 
    ...:     end_3 = time.time() 
    ...:     print('普通for循环:{}, 列表式递推:{}, map函数:{}' 
    ...:           .format(end_3 - end_2, end_2 - end_1, end_1 - start)) 
    ...:            
    ...:                                                                                                                                                                                                    
普通for循环:5.7220458984375e-06, 列表式递推:0.18357276916503906, map函数:0.22466301918029785

In [36]: def f(s): 
    ...:     new_s = [] 
    ...:     for i in s: 
    ...:         new_s.append(str(i)) 
    ...:     return new_s 
    ...: if __name__ == '__main__': 
    ...:     test_list = range(1000000) 
    ...:     start = time.time() 
    ...:     m_1 = f(test_list) 
    ...:     end_1 = time.time() 
    ...:     m_2 = [str(s) for s in test_list] 
    ...:     end_2 = time.time() 
    ...:     m_3 = map(str, test_list) 
    ...:     end_3 = time.time() 
    ...:     print('普通for循环:{}, 列表式递推:{}, map函数:{}' 
    ...:           .format(end_3 - end_2, end_2 - end_1, end_1 - start)) 
    ...:            
    ...:                                                                                                                                                                                                    
普通for循环:5.9604644775390625e-06, 列表式递推:0.18172597885131836, map函数:0.2219834327697754

In [37]: def f(s): 
    ...:     new_s = [] 
    ...:     for i in s: 
    ...:         new_s.append(str(i)) 
    ...:     return new_s 
    ...: if __name__ == '__main__': 
    ...:     test_list = range(100000000) 
    ...:     start = time.time() 
    ...:     m_1 = f(test_list) 
    ...:     end_1 = time.time() 
    ...:     m_2 = [str(s) for s in test_list] 
    ...:     end_2 = time.time() 
    ...:     m_3 = map(str, test_list) 
    ...:     end_3 = time.time() 
    ...:     print('普通for循环:{}, 列表式递推:{}, map函数:{}' 
    ...:           .format(end_3 - end_2, end_2 - end_1, end_1 - start)) 
    ...:            
    ...:                                                                                                                                                                                                    
普通for循环:1.4066696166992188e-05, 列表式递推:128.19690418243408, map函数:22.801581144332886
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值