替换python中字符串中的每个字符

2024-06-06 20:48:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个脚本,在这个脚本中,我试图创建一个字符串列表,在随后的每个字符中,都有一个sub作为输入字符。你知道吗

my_replacement = input("Replacement character?: ")
orig_strng = ABCDEFGHIJKL
lst =[]
for i in range(len(orig_strng)):
    a = function to replace orig_strng[i] with my_replacements
    lst.append(a)

如果我的输入是X,那么每个迭代的附加lst输出将如下所示: XBCDEFGHIJKL、AXCDEFGHIJKL、ABXDEFGHIJKL等

我知道字符串本身是不可变的,所以我不能直接编辑它们。我怎样才能用python ic的方式解决这个问题?你知道吗


Tags: 字符串in脚本列表forinputmy字符
3条回答
def replace_each(s,letter):
    for i,original_letter in enumerate(s):
        yield "{0}{1}{2}".format(s[:i],letter,s[i+1:])

print(list(replace_each("ABCDEFGHI","x")))

我觉得这很像Python

字符串方法^{}在这里很好地适用于示例情况,但不一定适用于所有情况。你知道吗

my_replacement = input("Replacement character?: ")
orig_strng = ABCDEFGHIJKL
lst =[]
for i in range(len(orig_strng)):
    a = orig_strng.replace(orig_string[i], my_replacement)
    lst.append(a)

如果您愿意,您可以使用列表:

a = [orig_string.replace(orig_string[i], my_replacement) for i in orig_string]

可以将字符串转换为列表,执行替换,然后使用join将其转换回字符串

def foo(my_string, i, replacement):
    my_list = list(my_string)
    my_list[i] = replacement
    return "".join(my_list)

foo(orig_strng, 1, "X")
#'AXCDEFGHIJKL'

相关问题 更多 >