我有一组字符串,每个字符串都有数百万个字符。我想将它们拆分为随机长度的子字符串,我可以毫无问题地做到这一点。
但是,我的问题是:如何对子串长度选择应用某种权重?我的代码在 中运行python3
,所以我想找到一个 pythonic 解决方案。详细来说,我的目标是:
谢谢您的帮助!
可能有很多方法可以做到这一点。我会这样做:
rand
在区间取一个随机数[0,1]
:import random
rand = random.random()
[0,1]
. 您使用的操作取决于您希望似然分布的样子。一个简单的选择是正方形。rand = rand**2
[0,1]
向上缩放[1e04, 8e06]
并四舍五入到下一个整数:subStringLen = round(rand*(8e06-1e04)+1e04)
subStringLen
字符串并检查还剩多少个字符。
8e06
剩余的字符多于第 1 步。1e04
和之间8e06
,请将它们用作最后一个子字符串。1e04
您需要决定是否要丢弃其余部分或允许小1e04
于此特殊情况下的子字符串。我相信在效率方面有很多可能的改进,这只是为了让您了解我的方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句