python – 获取字符串的每个组合
发布时间:2020-12-20 13:00:37 所属栏目:Python 来源:网络整理
导读:我有一个组合学分配,涉及从特定的字符串组合中获取长度小于或等于6的每个单词. 在这种情况下,它是S = {‘a’,’ab’,’ba’}.教授刚开始将它们列出来,但我认为通过一个程序可以更容易地解决它.唯一的问题是我无法获得一个实际计算每个可能选项的好算法. 如果
我有一个组合学分配,涉及从特定的字符串组合中获取长度小于或等于6的每个单词.
在这种情况下,它是S = {‘a’,’ab’,’ba’}.教授刚开始将它们列出来,但我认为通过一个程序可以更容易地解决它.唯一的问题是我无法获得一个实际计算每个可能选项的好算法. 如果有人可以提供帮助,我会很感激.我通常用Python编程,但实际上我只需要帮助算法. 解决方法
您可以迭代生成由一个部分,两个部分,三个部分等组成的所有字符串,直到步骤中生成的所有字符串都超过六个字符.进一步的步骤只会生成更长的字符串,因此已经生成了所有可能的短字符串.如果您在每个步骤中收集这些短字符串,最终会得到一组所有可能生成的短字符串.
在Python中: S = set(['a','ab','ba']) collect = set() step = set(['']) while step: step = set(a+b for a in step for b in S if len(a+b) <= 6) collect |= step print sorted(collect) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |