Python列表生成字典,python自动生成字典

  Python列表生成字典,python自动生成字典

  Python generator python generator,这里指的是包含yield关键字的函数,与类似表达式的情况不同,比如:

  Generator=(x*5 6 for x in range(20))本文主要讨论生成器函数(以下代码)在字典生成中的应用。

  DEF COUNTS(n):I=0 while I n:yield I=1关于字典生成字典的功能,需要必要的参数:

  1.组成字典的元素可以定制,比如一个字符(数字1-9,字母a-zA-z,符号@ # $% *等。)或字符组合。

  2.可以指定单个字典数据中包含的元素数量。只要硬盘容量足够,从1到N的数字可以是任意长度。

  组合是由元素个数决定的(元素个数的指数是n**n,例如3个元素产生3 ** 3=27条数据),而不是字符个数。

  字典生成代码首先定义字典元素:

  Ele=list(abcdefg123456*#@ )或通过自定义文件加载(文件名dicts.txt,每个元素占一行):

  with( dicts . txt )as f:ele=f . readlines()然后设置字典中单个数据段包含的元素个数:

  N=5或在命令行输入:

  Import sysn=int(sys.argv[1])让我们看看下面的关键生成器函数:

  生成器表达式(i+j for i in ele for j in c)用在函数t1 (n,ele): a,c=ele,ele for x in range(n):Yielditer(a)c=(I j for I in ele for j in a)a=list(c)中,实现了类似下面的循环嵌套:

  对于列表1中的I:对于列表2中的j:理论上,可以执行无限循环嵌套。

  当调用上述生成器函数时,返回的(第一次除外)也是一个生成器,分别对应所有元素的2,3,4 … n个元素被选中时生成的字典生成器。您可以根据需要选择所有元素长度或某个元素长度的词典。下面的例子调用最后一个生成器,即元素个数为n时生成的字典。

  def main(n=5): tmp=t1(n,ele)x2=[]for I in tmp:x2=I print(type(x2))# for j in x2:# print(j)with open( results . txt ,W )上面的变量x2为f: for I in x2: f.write ({} \ n )。format (i))是函数输出的最后一个生成器。如果n=5,x2是由5个元素组成的字典生成器,字典最终保存在results.txt文件中。

  通过总结python的生成器函数,可以输出一个任意指定长度和组成元素的字典,在爆破登录页面和加密文件时可以方便地使用。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: