【问题标题】:Insert a string within another string based with probability based on location基于基于位置的概率在另一个字符串中插入一个字符串
【发布时间】:2022-01-24 13:44:08
【问题描述】:
我正在使用 Python,我想在随机位置的另一个字符串中插入一个字符串。但我希望根据概率分布选择随机位置,该概率分布比其他位置更偏向某些位置。具体来说,我想在原始字符串的开头插入更多的字符串,而在结尾处插入更少的字符串。
例如,如果插入字符串是“I go here”,而原始字符串是“这是一个测试字符串,它可以很长。”我想要在原始字符串中的随机位置插入插入字符串。但是如果我说 100 次,我会得到 "I go here this is a test string and it can be long" 比 "this is一个测试字符串,它可以很长。我去这里"。我希望能够调整概率分布。
感谢任何帮助。
【问题讨论】:
标签:
python
string
random
probability
【解决方案1】:
您可以使用 random.gauss() 函数。
它返回一个具有高斯分布的随机数。
该函数有两个参数:mean 和sigma。 mean 是函数输出的预期均值,sigma 是标准差——“值与均值的差距”。
试试这样的:
import random
original_str_len = 7
mean = 0
sigma= original_str_len # just an example.
r = random.gauss(mean, sigma) # random number- can be negative
r = abs(r)
insertion_index = int(r)
请注意,这段代码并不完美,但总体思路应该可行。
我建议您阅读有关高斯分布的更多信息。