如何在列表中选择一个随机位置,翻转位,然后浏览下一个项目

有没有办法在列表中选择一个项目的位置,然后例如翻转位

pop = ['1010101', '1000101','1001001','1010101,'110001']

然后在列表中的每组项目中随机选择一个位置并将该位翻转为 0 到 1 或 1 到 0

因此,例如,它将遍历列表中的每个项目并在每个项目中选择随机位置,1010101 将变成 1000101,第二个项目将变成 1000101、1011001 等。


牛魔王的故事
浏览 127回答 1
1回答

慕慕森

您可以使用random.choice:import randomrandom.seed(42)def flip(s):    pos = random.choice(range(len(s)))    r = list(s)    r[pos] = '1' if r[pos] == '0' else '0'    return ''.join(r)pop = ['1010101', '1000101', '1001001', '1010101', '110001']result = [flip(s) for s in pop]print(result)输出['1010111', '0000101', '0001001', '1010111', '111001']一切都在flip函数内部通过3 个主要步骤完成。选择随机位置:pos = random.choice(range(len(s)))。改变位置的位。r = list(s)r[pos] = '1' if r[pos] == '0' else '0'最后由返回一个新字符串连接的元素r,return ''.join(r)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python