0

私が文字列を持っているとしましょう

s = 'x x x x x'

「x」の1つをランダムにyに変更したい

s2 = 'x x y x x'

x と y は複数文字の長さになります。

x の最初のインスタンスだけを変更したい場合は、string.replace を使用しますが、ランダムなインスタンスを変更するにはどうすればよいでしょうか?

4

2 に答える 2

2

できるよ

import random

def replace_random(string, str_a, str_b):
    rand = max(random.randint(0, string.count(str_a)), 1)
    return string.replace(str_a, str_b, rand).replace(str_b, str_a, rand - 1)

print replace_random('x x x x x', 'x', 'y')
于 2013-11-04T16:58:14.327 に答える