【发布时间】:2010-08-11 23:52:57
【问题描述】:
在 Python 中,字符串是不可变的。
逐个字符遍历字符串并对其进行修改的标准习语是什么?
我能想到的唯一方法是一些与加入结果字符串相关的真正臭名昭著的黑客攻击。
--
在 C 中:
for(int i = 0; i < strlen(s); i++)
{
s[i] = F(s[i]);
}
这是超级表达力,并准确地说明了我在做什么。这就是我要找的。
【问题讨论】:
-
我猜因为它们是不可变的,所以你不能“修改它”......你的意思是逐个字符地构造一个新字符串吗?
-
这真的很少见。你能给出这样做的背景或用例吗?
-
在消息中添加噪音以进行测试。
-
@Paul Nathan:“给消息添加噪音”?就像“随机替换字符”一样?
replace这个有什么问题? -
@S.Lott:替换选择列表中的已知元素“mystring.replace("1", "i")`;而我想按索引进行迭代 - 我不知道列表中会包含哪些元素。 (为什么一定要这么痛苦?)