我有一串字母:
    x =“ ABCDE”

我有一个包含另一组字母的字符串:
    y =“ VWXYZ”

我一直试图解决的想法是采用原始字符串x,并将第二个字符y中第一个字母(“ V”)的所有实例读入x的第一个位置。然后对x的所有位置和y的所有字母重复此操作。

尝试了一些不同的循环,但是很难正确解决这个问题。

for i in range(len(x)):
  print (x[i])
  replaced = False

  for z in range(len(y)):
    x.replace(x[0],y[0])


输入字符串:

x = "ABCDE"
y = "VWXYZ"


理想情况下,结果将与每个序列一起打印在新行上。
所需结果:

"ABCDE" # starting sequence
"VBCDE" # replace first position in x with first position in y
"WBCDE" # replace first position in x with second position in y
"XBCDE" # replace first position in x with third position in y
"YBCDE"
"ZBCDE" # replace first position in x with fifth position in y
"AVCDE" # replace second position in x with first position in y
"AWCDE" # replace second position in x with second position in y
.......
"ABCDZ" # This would be the final sequence in the series.


因此,基本上,我希望生成具有更改顺序的字符串,并且每个字符串都换行。

最佳答案

不要使用x.replace,它不会就地修改字符串,它会返回修改后的字符串(它将替换所有实例,而不仅仅是您要替换的实例),您可以使用列表切片和字符串-串联:

for i in range(len(x)):
    for j in y:
        print(x[:i] + j + x[i + 1:])


输出:

VBCDE
WBCDE
XBCDE
YBCDE
ZBCDE
AVCDE
AWCDE
AXCDE
AYCDE
AZCDE
ABVDE
ABWDE
ABXDE
ABYDE
ABZDE
ABCVE
ABCWE
ABCXE
ABCYE
ABCZE
ABCDV
ABCDW
ABCDX
ABCDY
ABCDZ

关于python - 有没有办法读取一个字符串并将该字符串中的每个字母转换为另一个字符串中的项目?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57868842/

10-14 19:34
查看更多