python seed() 不保持相同的序列

2023-12-22

我正在使用 random.seed() 来尝试保持 random.sample() 与我从列表中采样更多值相同,并且在某些时候数字会发生变化......我认为的一个目的Seed() 函数的作用是保持数字相同。

这是我做的一个测试,以证明它不会保留相同的数字。

import random

a=range(0,100)
random.seed(1)
a = random.sample(a,10)
print a

然后将样本更改得更高,顺序就会改变(至少对我来说他们总是这样做):

a = random.sample(a,40)
print a

我是个新手,所以也许这是一个简单的解决方案,但我将不胜感激对此的任何帮助。 谢谢!


如果您要从生成器中抽取独立样本,那么会发生的情况正是您所期望的:

In [1]: import random

In [2]: random.seed(1)

In [3]: [random.randint(0, 99) for _ in range(10)]
Out[3]: [13, 84, 76, 25, 49, 44, 65, 78, 9, 2]

In [4]: random.seed(1)

In [5]: [random.randint(0, 99) for _ in range(40)]
Out[5]: [13, 84, 76, 25, 49, 44, 65, 78, 9, 2, 83, 43 ...]

正如你所看到的,前十个数字确实是相同的。

事实是random.sample()正在抽样无需更换这很碍事。要了解这些算法的工作原理,请参阅油藏取样 http://en.wikipedia.org/wiki/Reservoir_sampling。本质上发生的事情是later样品可以推earlier结果集中的样本。

一种替代方法可能是打乱索引列表,然后取出 10 个或 40 个第一个元素:

In [1]: import random

In [2]: a = range(0,100)

In [3]: random.shuffle(a)

In [4]: a[:10]
Out[4]: [48, 27, 28, 4, 67, 76, 98, 68, 35, 80]

In [5]: a[:40]
Out[5]: [48, 27, 28, 4, 67, 76, 98, 68, 35, 80, ...]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python seed() 不保持相同的序列 的相关文章

随机推荐

  • 使用 NInject 在 WPF 中注入没有无参数构造函数的视图模型类

    我正在使用 NInject 来解决我的第一个 WPF 应用程序的依赖关系 以下是我的代码片段 我的 App xaml cs 是这样的 public partial class App Application private IKernel
  • 如何在 Java 中创建一个接受任意数量任意类型参数的方法?

    我可以看到 Java 中有一种方法可以接受任意数量的指定类型的参数 http www java tips org java se tips java lang how to pass unspecified number of argume
  • 如何声明和使用 json 对象中的函数名称?

    我有一个在服务器中构建的地理位置的 json 对象集合 每个对象都有两个属性 marker 和 onClick Marker 用于存储 Google 地图标记对象 onClick 存储在地图上单击该标记时要调用的函数的名称 当我在客户端使用
  • 有没有一种快速的方法来读取 dd 中的交替字节

    我试图在循环中使用 dd 读出二进制文件中的每隔一对字节 但速度慢得无法使用 我在 BusyBox 嵌入式设备上有一个二进制文件 其中包含 rgb565 格式的数据 每个像素都是 2 个字节 我试图读出所有其他像素来进行非常基本的图像缩放以
  • 如何获取WCF服务的所有方法?

    如何从代码中获取启用 WCF silverlight 的服务的所有方法的列表 我已经向 Silverlight 应用程序添加了服务引用 我可以使用反射获取所有方法吗 如果可以请给我提供例子 给定服务类的类型 您可以使用获取方法 http m
  • 使用 Firebase Auth 模拟器以编程方式创建用户

    我正在尝试使用 Firebase Auth 模拟器编写玩笑测试 并继续收到以下 CORS 错误 console error Error Headers X Client Version forbidden at dispatchError
  • 无法让 Log4Net 在我的 ASP.NET 网站上工作:(

    非常简单的问题 gt 我似乎无法在 ASP NET 应用程序中从 Log4Net 获取任何数据 我有一个简单的 ASP NET 网站 它引用了一个类库 在这个类库中 我有一些调用记录器的行 我正在尝试在 Visual Studio 2008
  • Jira 用于错误跟踪和客户支持?

    我们正在考虑使用 Jira 进行错误跟踪 并将其与 Git 集成 以将错误修复与版本处理联系起来 您是否也推荐 Jira 来提供客户支持 还是我们应该寻找其他系统 例如 Zendesk 来实现此目的 我知道可以通过某种方式将 Hipchat
  • String s = "something"; 和有什么区别和 String s = new String("某事"); [复制]

    这个问题在这里已经有答案了 可能的重复 字符串对象和字符串文字之间的区别 https stackoverflow com questions 3297867 difference between string object and stri
  • 为什么该规则不能防止重复密钥违规?

    postgresql 我试图COPY将 csv 数据写入表中 但我收到重复的密钥违规错误 并且无法判断COPY为了忽略这些 所以根据互联网智慧 我尝试添加此规则 CREATE OR REPLACE RULE ignore duplicate
  • Python 中的数组解构

    我希望能够vals最后一行更清楚 import rx from rx import operators as op light stream rx range 1 10 pipe op with latest from irradiance
  • 如何使用 Liquid (Shopify) 遍历商店的所有产品?

    我不能 我知道 Shopify 对页面上可以循环浏览的产品数量施加了限制 当前限制为 50 实际上 这不是真的 可以使用 Liquid 遍历商店的所有产品 paginate collections all products products
  • 如何获取当前目标蚂蚁的值?

    如何获取当前目标蚂蚁的值 它是否存在一个称为 TARGET 的特殊变量 基于问题 https issues apache org bugzilla show bug cgi id 44980你必须修补 ant 或使用 javascript
  • 解析错误:语法错误,意外的“else”(T_ELSE)[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我编辑此代码以在 select 为空时显示消息 并收到此错误 Parse error syntax error unexpecte
  • setX()、setTranslationX()、setY() 和 setTranslationY()

    setX setY 和 setTranslationX setTranslationY 有什么区别 他们是在现有坐标上设置偏移还是设置绝对位置 如果他们设置绝对坐标 会不会与父布局的约束冲突 假设我们有类似的东西 View 1 View 2
  • 将 war 从 S3 部署到 AWS Elastic Beanstalk

    我有2台AWS机器 1 dev ec2 2 prod elastic beanstalk 每次提交后 我都会在 dev machine1 上进行构建和部署 这会生成一个 war 文件 该文件也将使用 s3cmd 工具上传到 S3 存储桶上
  • php的'include'是函数还是语句?

    网络上有很多这两种情况的示例 php 手册说 include 语句 这似乎是矛盾的 如果它是一个语句 它不应该没有括号吗 这两者都有效 include somefile php include somefile php 那么我或其他人应该关
  • 如何判断 Rails 代码是通过 rake 还是 script/generate 运行?

    我有一个有点重的插件 项目符号 配置有 Growl 通知 如果我只是运行 rake 任务或生成器 我不想启用它 因为它在这些情况下没有用 有什么方法可以判断是否是这种情况吗 就这么简单 if rails rake task puts Gue
  • 什么类型的序列化在幕后使用 Wcf?

    我知道 net 中有 3 种类型的序列化 Soap Xml Binary Wcf 指示 DataContract 属性也序列化 但是通过what 二进制不是 我知道 那么通过什么机制 它是为给定端点定义的绑定 它指定了序列化机制 例如 ba
  • python seed() 不保持相同的序列

    我正在使用 random seed 来尝试保持 random sample 与我从列表中采样更多值相同 并且在某些时候数字会发生变化 我认为的一个目的Seed 函数的作用是保持数字相同 这是我做的一个测试 以证明它不会保留相同的数字 imp