我是靠谱客的博主 正直老师,最近开发中收集的这篇文章主要介绍【python】迭代器与嵌套for循环生成密码字典速度对比前言代码对比结果,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前言

分别使用迭代器嵌套for循环生成包含所有由数字组成的长度为8的密码字典,也就是从0000000099999999

代码

  • 迭代器
import time
t1 = time.time()
import itertools as its
iterator = its.product('0123456789', repeat=8)
f = open('pwd.txt', 'w')
for i in iterator:
    f.write(''.join(i)+'n')
f.close()
t2 = time.time()
print(t2-t1)
# 62.58520317077637
  • 嵌套for循环
import time
t1 = time.time()
ls = '0123456789'
f = open('pwd.txt', 'w')
for i in ls:
    for j in ls:
        for k in ls:
            for x in ls:
                for y in ls:
                    for z in ls:
                        for m in ls:
                            for n in ls:
                                f.write(i+j+k+x+y+z+m+n+'n')
f.close()
t2 = time.time()
print(t2-t1)
# 80.10285377502441

对比

总计用时

方法选择用时(单位:秒)
迭代器62.58520317077637
嵌套for循环80.10285377502441

代码风格

  • 迭代器:代码很短,风格良好。
  • 嵌套for循环:代码较长,且for循环的层层嵌套导致代码风格很差,不推荐。

结果

对比可见,用迭代器生成密码字典速度更快,且代码风格更加良好。

最后

以上就是正直老师为你收集整理的【python】迭代器与嵌套for循环生成密码字典速度对比前言代码对比结果的全部内容,希望文章能够帮你解决【python】迭代器与嵌套for循环生成密码字典速度对比前言代码对比结果所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部