为什么 random.shuffle 返回 None ?

2023-12-12

Why is random.shuffle返回None在Python中?

>>> x = ['foo','bar','black','sheep']
>>> from random import shuffle
>>> print shuffle(x)
None

我如何获得打乱后的值而不是None?


random.shuffle()改变了x list in place.

就地改变结构的 Python API 方法通常会返回None,而不是修改后的数据结构。

>>> x = ['foo', 'bar', 'black', 'sheep']
>>> random.shuffle(x)
>>> x
['black', 'bar', 'sheep', 'foo']

如果你想创建一个new基于现有列表的随机洗牌列表,其中现有列表保持有序,您可以使用random.sample()输入的完整长度:

random.sample(x, len(x))     

你也可以使用sorted() with random.random()对于排序键:

shuffled = sorted(x, key=lambda k: random.random())

但这会调用排序(O(N log N) 操作),而采样到输入长度只需要 O(N) 操作(与random.shuffle()使用,从收缩池中交换随机值)。

Demo:

>>> import random
>>> x = ['foo', 'bar', 'black', 'sheep']
>>> random.sample(x, len(x))
['bar', 'sheep', 'black', 'foo']
>>> sorted(x, key=lambda k: random.random())
['sheep', 'foo', 'black', 'bar']
>>> x
['foo', 'bar', 'black', 'sheep']
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 random.shuffle 返回 None ? 的相关文章

  • 将非常大的Python列表输出保存到mysql表中

    我想将 python 生成的列表的输出保存在 mysql 数据库的表中 该表如下所示 mysql 中的 myapc8 表 https i stack imgur com 4B4Hz png这是Python代码 在此输入图像描述 https
  • 将 numpy 数组合并为单个 int

    numpy 数组怎么可以这样 10 22 37 45 转换为单个 int32 数字 如下所示 10223745 这可以工作 gt gt gt int join map str 10 22 37 45 10223745 基本上你使用map s
  • 反编译Python 3.9.2的PYC文件[重复]

    这个问题在这里已经有答案了 目前 我有一个 3 9 2 版本的 python 的 PYC 文件 P S 这适用于所有 3 9 及更高版本 我正在尝试反编译 PYC 文件 但它显示错误 因为 uncompyle6 或者更确切地说 新版本 de
  • 是否可以从 Julia 调用 Python 函数并返回其结果?

    我正在使用 Python 从网络上抓取数据 我想使用这些数据在 Julia 中运行计算 是否可以在 Julia 中调用该函数并返回其结果 或者我最好直接导出到 CSV 并以这种方式加载数据 绝对地 看PyCall jl https gith
  • 从 Azure ML 实验中访问 Azure Blob 存储

    Azure ML 实验提供了通过以下方式读取 CSV 文件并将其写入 Azure Blob 存储的方法 Reader and Writer模块 但是 我需要将 JSON 文件写入 blob 存储 由于没有模块可以执行此操作 因此我尝试在Ex
  • 如何通过 python 多处理利用所有核心

    我一直在摆弄Python的multiprocessing现在已经使用了一个多小时的功能 尝试使用并行化相当复杂的图形遍历函数multiprocessing Process and multiprocessing Manager import
  • 使用python从gst管道抓取帧到opencv

    我在用着OpenCV http opencv org 和GStreamer0 10 我使用此管道通过自定义套接字通过 UDP 接收 MPEG ts 数据包sockfd由 python 提供并显示它xvimagesink 而且效果很好 以下命
  • Paste.httpserver 并通过 HTTP/1.1 Keep-alive 减慢速度;使用 httperf 和 ab 进行测试

    我有一个基于paste httpserver 的Web 服务器作为HTTP 和WSGI 之间的适配器 当我使用 httperf 进行性能测量时 如果每次使用 num conn 启动一个新请求 我每秒可以执行超过 1 000 个请求 如果我使
  • Spark 和 Python 使用自定义文件格式/生成器作为 RDD 的输入

    我想问一下 Spark 中输入的可能性 我可以看到从http spark apache org docs latest programming guide html http spark apache org docs latest pro
  • Plotly:如何检查基本图形结构(版本 4)

    对于旧版本的plotly 例如在 Jupyterlab 中 您可以简单地运行figure像这样检查你的图形的基础知识 Ouput data marker color red size 10 symbol 104 mode markers l
  • 查找 Pandas DF 行中的最短日期并创建新列

    我有一个包含多个日期的表 有些日期将为 NaN 我需要找到最旧的日期 所以一行可能有 DATE MODIFIED WITHDRAWN DATE SOLD DATE STATUS DATE 等 因此 对于每一行 一个或多个字段中都会有一个日期
  • 在骨架图像中查找线 OpenCV python

    我有以下图片 我想找到一些线来进行一些计算 平均长度等 我尝试使用HoughLinesP 但它找不到线 我能怎么做 这是我的代码 sk skeleton mask rows cols sk shape imgOut np zeros row
  • Python bug - 或者我的愚蠢 - 扫描字符串文字时 EOL

    我看不出以下两行之间有显着差异 然而第一个解析 而后者则不解析 In 5 n Axis of Awesome In 6 n Axis of Awesome File
  • 如何在亚马逊 EC2 上调试 python 网站?

    我是网络开发新手 这可能是一个愚蠢的问题 但我找不到可以帮助我的确切答案或教程 我工作的公司的网站 用 python django 构建 托管在亚马逊 EC2 上 我想知道从哪里开始调试这个生产站点并检查存储在那里的日志和数据库 我有帐户信
  • 如何给URL添加变量?

    我正在尝试从网站收集数据 我有一个 Excel 文件 其中包含该网站的所有不同扩展名 F i www example com example2 我有一个脚本可以成功从网站中提取 HTML 但现在我想为所有扩展自动执行此操作 然而 当我说 s
  • Django 管理器链接

    我想知道是否有可能 如果可以的话 如何 将多个管理器链接在一起以生成受两个单独管理器影响的查询集 我将解释我正在研究的具体示例 我有多个抽象模型类 用于为其他模型提供小型的特定功能 其中两个模型是DeleteMixin 和GlobalMix
  • 如何编写一个接受 int 或 float 的 C 函数?

    我想用 C 语言创建一个扩展 Python 的函数 该函数可以接受 float 或 int 类型的输入 所以基本上 我想要f 5 and f 5 5 成为可接受的输入 我认为我不能使用if PyArg ParseTuple args i v
  • 如何从namedtuple实例列表创建pandas DataFrame(带有索引或多索引)?

    简单的例子 from collections import namedtuple import pandas Price namedtuple Price ticker date price a Price GE 2010 01 01 30
  • pandas 中数据帧中的随机/洗牌行

    我目前正在尝试找到一种方法来按行随机化数据框中的项目 我在 pandas 中按列洗牌 排列找到了这个线程 在 pandas 中对 DataFrame 进行改组 排列 https stackoverflow com questions 157
  • python从二进制文件中读取16字节长的双精度值

    我找到了蟒蛇struct unpack 读取其他程序生成的二进制数据非常方便 问题 如何阅读16 字节长双精度数出二进制文件 以下 C 代码将 1 01 写入二进制文件三次 分别使用 4 字节浮点型 8 字节双精度型和 16 字节长双精度型

随机推荐

  • Xcode 10 GM 多命令产生... Pods 问题

    刚刚切换到 xcode 10 Golden Master 并开始在我的一个 pod 中出现错误 FDTake Tried this线程 但我在构建阶段没有 plist 所以它不起作用 这个问题与 pod 有关吗 Showing All Me
  • getImageData 导致“未捕获错误:NOT_SUPPORTED_ERR:DOM 异常 9”

    我正在尝试了解 HTML5 中的一些图像处理 我发现当我尝试使用 getImageData 方法时 我会抛出此 JS 异常 我正在使用 Chrome 并在本地主机上运行 Thanks 好吧 找出问题所在了 我只想说 德普 我正在使用 get
  • 在 Python 中使用 BeautifulSoup 查找 html 标签

    我想在html代码中找到一个特定的标签 比如如果有2个标签 那么我怎样才能获取第二个标签的内容而不是第一个标签的内容 soup find id contact1 在这里是示例html代码 table align center th STUD
  • RestKit RKMappingTest JSON 数组

    我正在使用 RestKit gt 0 20 3 和 RestKit Testing gt 0 20 3 这是我的映射的一个示例 RKObjectMapping mapping RKObjectMapping mappingForClass
  • 使用数组中的参数调用函数 - apply() 而不使用上下文参数?

    是否有任何方法可以调用函数但设置上下文this当我通过执行以下操作调用该函数时它具有的 默认 值fn 此方法应该接受一个数组并将单个元素作为参数传递给函数 就像 apply 所做的那样 emitter new EventEmitter ar
  • 什么是 RSA 主机密钥?

    我收到这条消息说 将 IP 地址 192 30 252 130 的 RSA 主机密钥永久添加到已知主机列表中 RSA 密钥的含义是什么以及已知主机背后的概念是什么 RSA密钥是基于RSA算法的私钥 私钥用于在建立 SSL TLS 会话期间进
  • Rails:查询按除 0 之外的数字对记录进行排序

    我根据优先级 升序 排列数据 其中 0 在优先级中被忽略 下面是 Rails 查询 Profile where active true order priority pluck priority 此查询返回优先级从 0 开始的有序记录列表
  • geom_tile 图的可变大小

    I have a code that takes in positional data as well as values at that positional data and then plots it with geom tile T
  • 从连接到 Google Functions 的端点调用时,Firebase ID 令牌具有不正确的“aud”(受众)声明

    我使用 Google Endpoints 作为 API 网关 该网关在 Google Run 容器服务中运行 API 路径指向 Google 函数 node js 对 API 网关的调用来自 Web 应用程序 即浏览器 其中一条路径是 lo
  • 在 asset:install 和 assetic:dump 之后,Fontawesome 字体失败

    我正在尝试建立一个我正在共享托管上工作的网站 一切正常 但 FontAwesome 图标 因为 Symfony 找不到它们应该在的位置 我按照以下步骤将网站移动到生产共享托管 由于 SH 不允许符号链接 因此将资产发布为硬拷贝 因此我运行此
  • 根据权重分布从列表中随机选择 N 个项目的最快算法是什么?

    我有一个很大的物品清单 每个物品都有一个重量 我想随机选择N个项目而不放回 而权重较大的项目更有可能被选择 我正在寻找最有效的想法 性能至关重要 有任何想法吗 如果你想样品项目无需更换 你有很多选择 使用加权选择替换算法来选择随机索引 有很
  • JTabel 单个单元格文本对齐

    基本上我有一个JTable 和这个JTabel将在一个单元格中包含一种产品 然后在其正下方的单元格中包含成本 产品名称应左对齐 产品成本应向右对齐 我实际上并不关心每行中其他单元格的对齐方式 所以我需要设置单个单元格或单个行的对齐方式 我找
  • Python中无效证书获取证书信息

    我正在编写一个 Python 2 7 13 Win x64 脚本来验证 SSL 证书并发出问题警报 但是 我遇到了一个问题 即仅当证书有效时脚本才会返回信息 如果证书无效 我会收到 CERTIFICATE VERIFY FAILED SSL
  • 替换文本中的一个字符

    如何用 2B 替换 这是我的代码 x lt asflj ldjjsf ljsdlafj gsub 2B x 我的输出是 2Ba 2Bs 2Bf 2Bl 2Bj 2B 2B 2B 2Bl 2Bd 2Bj 2Bj 2Bs 2Bf 2B 2Bl
  • “libRestKit.a,文件是为存档而构建的,不是正在链接的架构(armv7)”

    我正在尝试使用 xcodebuild 来构建项目 但是RestKit and GPUImage给出以下问题 ld 警告 忽略文件 project libGPUImage a 文件 project libGPUImage a 2个切片 中缺少
  • 应用程序服务器如何将 Google 帐户与用户设备关联?

    我希望用户能够从网络服务器和 或本机 PC 应用程序输入数据 并将其传输到他们选择的 Android 设备 就像 Google Play 在设备上安装的方式一样 我想使用用户的 Google 帐户验证在应用程序服务器和向 GCM 注册的用户
  • 在地图上绘制线条 - gcIntermediate

    我的代码可以很好地生成从 A 点到 B 点的地图和线条 但是对于远东半球的国家 该线尝试穿过最短路径 例如从澳大利亚向东 并中断以创建一条穿过地块的直线 有什么建议么 我缩短了代码并将其全部包含在下面以供使用 有人提到 在代码的链接中 使用
  • 配置django与Oracle 11g数据库问题

    使用 Django 进行 Oracle 数据库配置 并在迁移应用程序时遇到错误 django db migrations exceptions MigrationSchemaMissing 无法 创建 dja ngo migrations
  • 使用进程将数据发送到记事本

    我想将列表框中的每个项目发送到记事本 但我的逻辑有点打败我 private void send Click object sender EventArgs e var notepad Process GetProcessesByName N
  • 为什么 random.shuffle 返回 None ?

    Why is random shuffle返回None在Python中 gt gt gt x foo bar black sheep gt gt gt from random import shuffle gt gt gt print sh