从字符串中删除字符并列出所有可能的排列

波士顿

我正在尝试遍历一个字符串,每次遇到星号 ( *) 时,都将其替换为字母表中的每个字母。一旦完成并击中另一个星号,请在两个位置再次执行相同的操作,依此类推。如果可能的话,将这些排列保存到 .txt 文件中,或者只是将它们打印出来。这就是我所拥有的,不知道比这更进一步:

alphabet = "abcdefghijklmnopqrstuvwxyz"

for i in reversed("h*l*o"):
    if i =="*":
        for j in ("abcdefghijklmnopqrstuvwxyz"):

是的,对于我尝试使用的以下一些解决方案,我面临更多挑战。

  1. 我无法写入文件,因为我只是收到错误。
托梅里库

你可以:

  1. count字符串中星号的数量。
  2. product用 (1) 中给出的重复次数创建所有字母中的第一个。
  3. 用匹配的字母替换每个星号(按顺序):
import string
import itertools

s = "h*l*o"

num_of_asterisks = s.count('*')
for prod in itertools.product(string.ascii_lowercase, repeat=num_of_asterisks):
    it = iter(prod)
    new_s = ''.join(next(it) if c == '*' else c for c in s)
    print(new_s)

笔记:

  1. 无需创建所有字母的字符串,只需使用该string模块即可。
  2. 这会将产品的元组转换为迭代器,以便轻松处理每个字母的顺序替换。
  3. 使用join方法从输入字符串中创建新字符串。
  4. 上面的代码只是打印了每个排列。您当然可以将其替换为写入文件或您想要的任何其他内容。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

转到存储在字符串中的每个链接并列出所有PDF链接

使用 Javascript 随机化句子/字符串中的单词并列出所有变体

列出字符串/整数的所有排列

如何删除字符串列表中列出的所有字符串,但仅删除后跟空格的字符串

列出字符给定可能性中的所有可能字符串

获取字符串或组合的所有可能排列,包括Java中的重复字符

生成字符串的所有可能排列的列表

查找字符串的所有可能排列

Unix命令来查找和替换字符串,并列出替换了字符串的所有文件

Java代码以递归方式搜索路径并列出以特定字符串开头的所有目录

嗨,如何删除字符串中的一些符号并列出其余单词?

字符串中所有可能的排列或选定字符替换的组合(带排列)

在python中查找给定字符串的所有可能排列

从给定集合中查找特定字符串索引(PHP)的所有可能排列

MySQL查询从数据库表中的所有字符串中找出特定区域的数据,并列出所有相关的横幅

排列所有字符串中的单词

字符串jquery的所有排列

如何在字符串中列出所有提及

列出所有“ A”的字符串

算法-查找字符串b中字符串a的所有排列

从给定的字符串中删除所有字符

从字符串中删除所有非单词字符

从字符串中删除所有特定字符

从字符串中删除所有匹配的字符

从字符串中删除所有特殊字符

从字符串中删除所有字符

从字符串中删除所有非字母字符

从字符串java中删除所有特殊字符

以所有可能的方式按字符位置排列字符串