Python列表倒序输出及其效率详解 |
您所在的位置:网站首页 › 张伟丽拿到金腰带视频 › Python列表倒序输出及其效率详解 |
Python列表倒序输出及其效率 方法一 使用Python内置函数reversed() for i in reversed(arr): passreversed返回的是迭代器,所以不用担心内存问题。 方法二 使用range()倒序 for i in range(len(arr) - 1, -1, -1): pass方法三 先使用list自带的reverse()函数,再用range()循环 arr.reverse() for i in range(len(arr)): pass因为要先倒序,再循环,所以效率会比较低。 方法四 先使用list自带的sort()函数来倒序,再用range()循环 arr.sort(reverse=True) for i in range(len(arr)): pass因为要先排序,再循环,所以效率会比较低。 这里不讨论Python内置函数sorted(),它的效率比list自带的sort()函数要慢。 效率 对比代码 import time arr = [x for x in range(10000000)] arr1 = arr.copy() start = time.process_time() for i in reversed(arr): pass end = time.process_time() print('方法一(reversed):', end - start) start = time.process_time() for i in range(len(arr) - 1, -1, -1): pass end = time.process_time() print('方法二(range倒序):', end - start) start = time.process_time() arr.reverse() for i in range(len(arr)): pass end = time.process_time() print('方法三(先reverse再range):', end - start) start = time.process_time() arr1.sort(reverse=True) for i in range(len(arr1)): pass end = time.process_time() print('方法四(先sort再range):', end - start)对比结果 数组长度为一百万时(跑了三次): 数组长度为一千万时(跑了两次): 数组长度为一亿时(跑了两次): 结论 效率:方法一 方法二 方法三 方法四 然而并不差多少emmm 但还是尽量使用迭代器吧,数据量很大的时候不用迭代器的话有可能会占用过多的内存。 到此这篇关于Python列表倒序输出及其效率详解的文章就介绍到这了,更多相关Python列表倒序输出及其效率内容请搜索ZaLou.Cn以前的文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |