为了账号安全,请及时绑定邮箱和手机立即绑定

有没有办法读取字符串并将字符串中的每个字母转换为另一个字符串中的项目?

有没有办法读取字符串并将字符串中的每个字母转换为另一个字符串中的项目?

HUX布斯 2022-05-24 16:02:24
我有一串字母:x = "ABCDE"我有一个包含另一组字母的字符串: y = "VWXYZ"我一直试图解决的想法是获取原始字符串 x,并将第二个字符串 y 中第一个字母(“V”)的所有实例读取到 x 的第一个位置。然后用所有字母 y 对 x 的所有位置重复此操作。尝试了几个不同的循环,但很难做到这一点。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.所以基本上我希望在新行上生成更改序列的字符串。
查看完整描述

3 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

不要使用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


查看完整回答
反对 回复 2022-05-24
?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

这是 x.replace ... 的解决方案。


x = "ABCDE"

y = "VWXYZ"


for i in range(0, len(x)):

   for j in range(0, len(y)):

      print(x.replace(x[i],y[j]))


print("Original: " + x) # x is still same 


查看完整回答
反对 回复 2022-05-24
?
慕斯王

TA贡献1864条经验 获得超2个赞

x = "ABCDE"

y = "VWXYZ"

for i, _ in enumerate(x):

    for c in y:

        print(x[:i] + c + x[i + 1 :])


查看完整回答
反对 回复 2022-05-24
  • 3 回答
  • 0 关注
  • 131 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号