考虑字符串Building Centre
。如果要求将此缩写以适合特定数量的字符,您和我可以选择非常不同但同样有效的表示形式。例如,三种有效的7字符表示法是:
BLD CNT
BLD CTR
BLDNGCT
它们是通过以下方式生成的:
LBD
是无效的,因为在Building
中L不在B之前)。你知道吗我想写一个基于广度或深度搜索的算法,为给定的字符串和所需的长度生成所有这样的简短形式。你知道吗
在开始编写脚本之前,我想知道是否已经实现了类似的功能。如果不是,你建议我怎么写这样的东西?除了itertools
,还有什么有用的库吗?你知道吗
是的,这可以用
itertools
完美地完成:注意
itertools.combinations
确实保持了顺序。你真想看看the docs编辑
如果还允许使用少于
length
个字符的短格式,则可以使用如评论中所述,一些简短的表单会生成两次。要解决此问题,请使用
shorts = list(set(shorts))
。你知道吗相关问题 更多 >
编程相关推荐