根据基于位置的概率在另一个字符串中插入一个字符串

Insert a string within another string based with probability based on location

我在 Python 工作,我想在随机位置的另一个字符串中插入一个字符串。但我希望根据比其他位置更偏爱某些位置的概率分布来选择随机位置。具体来说,我想在原始字符串的开头插入更多字符串,而在结尾插入更少的字符串。

例如,如果插入字符串是"I go here",原始字符串是"这是一个测试字符串,它可以很长。 " 我想在原始字符串的随机位置插入插入字符串。但是如果我说 100 次,我会得到结果 "I go here this is a test string and it can be long" 结果比 “这是一个测试字符串,它可以很长。我去这里”。我希望能够调整概率分布。

感谢任何帮助。

您可以使用 random.gauss() 函数。
它returns一个服从高斯分布的随机数。
该函数有两个参数:meansigmamean 是函数输出的预期平均值,sigma 是标准差 - 'how far the values will be from the mean'.
尝试这样的事情:

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)

注意,此代码并不完美,但总体思路应该可行。
我建议您阅读有关高斯分布的更多信息。