这就是我现在的处境:
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])))
我得到的是:
^{pr2}$这就是我想要得到的:
xxxx4AaaaSSSxxx
xxxx44aaaSSSxxx
xxxxAA@aaSSSxxx
xxxxAA@@aSSSxxx
xxxxAA@@@SSSxxx
我想把字符替换成一个字符,这就是为什么我要把字符串管道到一个数组。这样做对吗?在
您可以使用regex:
输出:
^{pr2}$检查一下,告诉我:
注意:
replace(x, y)
将替换文本中的所有x
。如果您想一次只替换一个字符,请添加count
参数=1:text = text.replace(letter, str(PasswordSubHT[letter]), 1)
Python string^{} 方法用字符串中的新字母替换字母的所有实例。例如,在第一个过程中,它跳过所有字母直到A,然后看到A在子列表中,并将字符串中A的所有实例替换为4。然后它移动到下一个字符,在这一点上它变成了4而不是A。
Python字符串是不可变的。所以你不能真的把它们捡起来然后在中间换字母。
您可以将这个字符串转换成一个列表。
char_list = list(text)
。然后你可以迭代这个并保留一个计数器。在相关问题 更多 >
编程相关推荐