Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Python -如何从特定长度的给定字符生成词表

Python -如何从特定长度的给定字符生成词表
EN

Stack Overflow用户
提问于 2014-02-04 17:15:21
回答 4查看 19.7K关注 0票数 4

我想执行字典攻击,为此我需要单词列表。如何从特定长度的字符(或从最小长度到最大长度的单词长度)生成单词列表?我试过itertools.combinations_with_replacementsitertools.permutations,但没有用。他们没有它应该返回的所有单词列表。任何帮助都将不胜感激。谢谢。

EN

回答 4

Stack Overflow用户

发布于 2014-02-04 17:19:29

使用itertools.product

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>> import itertools
>>>
>>> chrs = 'abc'
>>> n = 2
>>>
>>> for xs in itertools.product(chrs, repeat=n):
...     print ''.join(xs)
...
aa
ab
ac
ba
bb
bc
ca
cb
cc

要获取从最小长度到最大长度的单词:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
chrs = 'abc'
min_length, max_length = 2, 5    
for n in range(min_length, max_length+1):
    for xs in itertools.product(chrs, repeat=n):
        print ''.join(xs)
票数 8
EN

Stack Overflow用户

发布于 2014-02-04 17:28:53

这是一个天真的实现:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
list='abcdefg'
depth=8

def generate(l,d):
  if d<1:
    return
  for c in l:
    if d==1:
      yield c
    else:
      for k in generate(l,d-1):
        yield c+k

for d in range(1,depth):
  for c in generate(list,d):
    print c

我还没有足够的名气来发表评论,所以,根据上面的itertools示例制作一个完整的列表:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import itertools
chrs='abc'
n=6
for i in range(1,n):
  for xs in itertools.product(chrs, repeat=i):
    print ''.join(xs)

这样,你的列表中就有了长度从1到n的所有单词。

票数 2
EN

Stack Overflow用户

发布于 2014-02-04 17:23:30

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from itertools import product

def allwords(chars, length):
    for letters in product(chars, repeat=length):
        yield ''.join(letters)

def main():
    letters = "abc"
    for wordlen in range(3, 5):
        for word in allwords(letters, wordlen):
            print(word)

if __name__=="__main__":
    main()

返回

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
aaa
aab
aac
aba
abb

...

ccbc
ccca
cccb
cccc    
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21559039

复制
相关文章
「Mysql索引原理(十)」冗余和重复索引
MySQL允许在相同列上创建多个索引,无论是有意的还是无意的。MySQL需要单独维护重复的索引,并且优化器在优化查询的时候也需要逐个进行考虑,这会影响性能。
源码之路
2020/09/04
1.4K0
MySQL冗余和重复索引
MySQL允许在相同列上创建多个索引,无论是有意还是无意,mysql需要单独维护重复的索引,并且优化器在优化查询的时候也需要逐个地进行考虑,这会影响性能。
星哥玩云
2022/08/13
1.4K0
二十七、冗余和重复索引
在 MySQL 中允许在相同的列上创建多个索引。重复索引是指在相同列上按照相同的顺序创建的相同类型的索引。冗余索引和重复索引有些不同,例如创建了索引(A,B),在创建索引(A)就是冗余索引。下面的例子是重复索引:
喵叔
2022/05/06
4570
二十六、冗余和重复索引
在 MySQL 中允许在相同的列上创建多个索引。重复索引是指在相同列上按照相同的顺序创建的相同类型的索引。冗余索引和重复索引有些不同,例如创建了索引(A,B),在创建索引(A)就是冗余索引。下面的例子是重复索引:
喵叔
2021/06/25
3540
冗余分析
上一次给大家介绍了如何用R语言进行主成分分析,今天介绍的主角也是PCA的好朋友噢,掌声欢迎我们的第二位小伙伴——冗余分析(RDA)。
庄闪闪
2021/04/09
5.8K0
segRDA: 分段冗余分析
Title: segRDA: An R package for performing piecewise redundancy analysis
Listenlii-生物信息知识分享
2020/06/01
1.4K0
segRDA: 分段冗余分析
冗余和故障转移
高可用设计的核心思想是冗余和故障转移,具体分析下业界比较流行的高可用中间件框架的高可用实现思想。
35岁程序员那些事
2020/02/24
2.1K0
684. 冗余连接
输入一个图,该图由一个有着N个节点 (节点值不重复1, 2, ..., N) 的树及一条附加的边构成。附加的边的两个顶点包含在1到N中间,这条附加的边不属于树中已存在的边。 结果图是一个以边组成的二维数组。每一个边的元素是一对[u, v] ,满足 u < v,表示连接顶点u 和v的无向图的边。 返回一条可以删去的边,使得结果图是一个有着N个节点的树。如果有多个答案,则返回二维数组中最后出现的边。答案边 [u, v] 应满足相同的格式 u < v。 示例 1: 输入: [[1,2], [1,3],
CaesarChang张旭
2021/06/22
6190
redis数据冗余与分片
Redis 提供了主从库模式,以保证数据副本的一致,主从库之间采用的是读写分离的方式。
changan
2021/04/22
1.4K0
数据库性能优化冗余字段的作用 数据库冗余
在设计数据库时,某一字段属于一个表,但它又同时出现在另一个或多个表,且完全等同于它在其本来所属表的意义表示,那么这个字段就是一个冗余字段。
V站CEO-西顾
2018/07/27
1.8K0
可靠性基础-冗余
在之前的一篇文章中,我们介绍了容错系统的八个支柱,今天我们将讨论第一个支柱,即冗余。
用户5166556
2023/10/09
5030
可靠性基础-冗余
系统设计:代理&冗余&复制
代理服务器是客户端和后端服务器之间的中间服务器。客户端连接到代理服务器以请求网页、文件、连接等服务。简言之,代理服务器是一种软件或硬件,充当客户端从其他服务器寻求资源请求的中介。
小诚信驿站
2021/08/26
2.8K0
系统设计:代理&冗余&复制
Siemens 介质冗余(MRP)功能
SIMATIC 设备采用标准的冗余机制为 MRP(介质冗余协议),符合IEC62439-2标准,典型重新组态时间为 200ms,每个环网最多支持 50个设备。
科控物联
2022/03/29
3.7K0
Siemens 介质冗余(MRP)功能
冗余代码检查工具Simian
微软web2.0开发示例Kobe,重蹈了Oxite的覆辙。Ayende连续发表了五篇高质量的Kobe探讨贴: Kobe – In the nuts & bolts and don’t really liking it Kobe – Data Access done wrong Kobe – When the documentation is the only delivery that matters Kobe – an example of exception handling done wrong Ko
张善友
2018/01/19
2.7K0
cd-hit去冗余
cd-hit 是一款用于将蛋白、核酸序列快速聚类的工具。由于宏基因组样品中可能包含相似物种,拼接结果中可能会存在一部分冗余序列,导致预测出来的基因包含冗余部分,可以通过聚类进行去冗余。
生信喵实验柴
2023/02/24
2K0
cd-hit去冗余
【数字视频技术介绍】| 编码中的时间冗余和空间冗余
我们可以做个减法,我们简单地用 0 号帧减去 1 号帧,得到残差,这样我们就只需要对残差进行编码。
音视频开发进阶
2020/05/29
2.3K0
最大相关最小冗余(mRMR)算法
在做特征选择时,可能面临两个问题:特征与类别预测有多大相关性,特征之间有多大冗余度。在特征选择中,“最好的m个特征不一定是m个最好的特征”,从相关度与冗余度来看,最好的m个特征是指与分类最相关的特征,但由于最好的m个特征之间可能存在冗余,因此最相关的m个特征并不一定比其他m个特征产生更好的分类准确率。可以看出,特征选择可以分为两个过程:1、怎样度量特征相关性。2、怎样解决特征之间的冗余。
里克贝斯
2021/05/21
6.2K0
最大相关最小冗余(mRMR)算法
[Oracle ASM全解析]ASM镜像和磁盘组冗余
ASM可以为ASM 文件提供镜像服务,做法为将不同的文件区拷贝放在故障组中,这样可以保证文件副本不会存放在同个故障组中
bsbforever
2020/08/19
2.4K0
系统架构实践与总结-冗余
传统的web站点,经常使用Nginx做反向代理。反向代理作为整个网站的入口,通常会承担流量转发、安全防护等工作,保证其高可用至关重要。为了保证反向代理的高可用,Nginx+Keepalived是一种常用的解决方案。
一行舟
2022/08/25
5690
系统架构实践与总结-冗余
Modbus TCP双通道冗余技术
在工业自动化项目中,经常会遇到需要冗余通讯的需求,我们使用KEPServer EX V6 实现对现场PLC,DCS,智能仪表等数据采集,而要实现冗余通讯,一般是需要不少资金来实现,并购买冗余软件套件等。
剑指工控
2021/11/09
1K0

相似问题

冗余MySQL索引?

11

Oracle索引冗余

50

猫鼬删除冗余索引

10

MySQL冗余索引替代方案?

20

如何处理冗余索引

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文