创建并随机插入重复项

时间:2015-04-25 10:35:44

标签: python random duplicates

这可能不是一个常见的问题,但我想创建重复项并在我的String中随机插入它。就像下面的例子一样。

我有这个文件:

AppleStrawberryBananaCitrusOrange

我期待这种输出:

trusppleStrawbeApplertrusryBananaCitrusOrangepple

在这种情况下,我的程序会随机选择长度为 4'的子字符串。 :' pple'和' trus'并重复他两次(2)'在插入之前。

我认为我可以通过使用带有copy.copy()和copy.insert()的fonction副本来运行程序,但我真的不知道如何随机使用它。

目前;我只是编写用于读写的代码部分以及其他内容:



import copy

chain='*'
contain = ''

file= raw_input ('Filename:')


x = open(file,'r')

for line in x:
		
if not(chain in line):
	contain+=line
	e=copy.copy(contain[4:8])
	f=copy.copy(contain[8:12])


y = open('copi','w')


y.write(contain)
y.write(f)



x.close()




结果:

AppleStrawberryBananaCitrusOrange
awbe

正如你所看到的;它并没有像我想的那样真正地工作。 :(

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

不确定我是否理解你要做的事情。

您可能需要一个随机选择的库:

implicit class PointNativeCompanionOps(val self: PointNative.type) extends AnyVal {
  def apply(props: PointProps): PointNative = new PointNative(props)
}

现在这是你的输入字符串:

import random

您可以使用s = "AppleStrawberryBananaCitrusOrange" print s 选择随机位置并提取4个字符的单词:

random.randint

最后,您可以选择另外两个随机位置并通过字符串连接插入单词:

i = random.randint(0, len(s) - 4)
w = s[i:i+4]
print w

输出:

for j in range(2):
    i = random.randint(0, len(s) - 4)
    s = s[:i] + w + s[i:]
print s