gpt4 book ai didi

python - 如果字符串中的字符与哈希表匹配,则替换它们并向下循环

转载 作者:行者123 更新时间:2023-11-28 21:37:29 31 4
gpt4 key购买 nike

这就是我现在所处的位置:

CharList = []
text = "xxxxAAaaaSSSxxx"
PasswordSubHT = {"a":"@" , "A":"4" , "S":"5"}
for LETTER in text:
CharList.append(LETTER)
for EL in CharList:
if EL in PasswordSubHT:
print(text.replace(EL,str(PasswordSubHT[EL])))

这就是我得到的:

xxxx44aaaSSSxxx
xxxx44aaaSSSxxx
xxxxAA@@@SSSxxx
xxxxAA@@@SSSxxx
xxxxAA@@@SSSxxx
xxxxAAaaa555xxx
xxxxAAaaa555xxx
xxxxAAaaa555xxx

这就是我想要得到的:

xxxx4AaaaSSSxxx
xxxx44aaaSSSxxx
xxxxAA@aaSSSxxx
xxxxAA@@aSSSxxx
xxxxAA@@@SSSxxx

我想逐个字符进行替换,这就是我将字符串通过管道传输到数组的原因。这是解决这个问题的正确方法吗?

最佳答案

Python 字符串 replace方法用字符串中的新字母替换该字母的所有实例。例如,在第一遍中,它会跳过所有字母直到 A,然后看到 A 在子列表中,并将字符串中 A 的所有实例替换为 4。然后它移动到下一个字符,此时该字符已变为 4代替。Python 字符串是不可变的。所以你不能真正拿起它们并改变它们之间的字母。您可以做的就是将此字符串转换为列表。 char_list = 列表(文本)。然后你可以迭代它并保留一个计数器。

for char in char_list:
counter = counter + 1
if char in PassSubList:
char_list[counter] = PassSubList[char]
return_list = ''.join(char_list)

关于python - 如果字符串中的字符与哈希表匹配,则替换它们并向下循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49390828/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com