使用累加器的列表理解

2023-11-24

使用列表理解(或其他紧凑方法)复制这个简单函数的最佳方法是什么?

import numpy as np

sum=0
array=[]
for i in np.random.rand(100):
   sum+=i
   array.append(sum)

在 Python 3 中,你可以使用itertools.accumulate():

from itertools import accumulate

array = list(accumulate(rand(100)))

Accumulate 产生将输入可迭代的值相加的运行结果,从第一个值开始:

>>> from itertools import accumulate
>>> list(accumulate(range(10)))
[0, 1, 3, 6, 10, 15, 21, 28, 36, 45]

您可以传入不同的操作作为第二个参数;这应该是一个可调用的,它获取累积结果和下一个值,返回新的累积结果。这operator module对于为此类工作提供标准数学运算符非常有帮助;您可以使用它来产生运行乘法结果,例如:

>>> import operator
>>> list(accumulate(range(1, 10), operator.mul))
[1, 2, 6, 24, 120, 720, 5040, 40320, 362880]

该功能很容易向后移植到旧版本(Python 2、Python 3.0 或 3.1):

# Python 3.1 or before

import operator

def accumulate(iterable, func=operator.add):
    'Return running totals'
    # accumulate([1,2,3,4,5]) --> 1 3 6 10 15
    # accumulate([1,2,3,4,5], operator.mul) --> 1 2 6 24 120
    it = iter(iterable)
    total = next(it)
    yield total
    for element in it:
        total = func(total, element)
        yield total
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用累加器的列表理解 的相关文章

  • 如何传递架构以从现有数据帧创建新数据帧?

    要将 schema 传递到 json 文件 我们这样做 from pyspark sql types import StructField StringType StructType IntegerType data schema Stru
  • 在 Python 中将列表元素作为单独的项目返回

    Stackoverflow 的朋友们大家好 我有一个计算列表的函数 我想单独返回列表的每个元素 如下所示 接收此返回的函数旨在处理未定义数量的参数 def foo my list 1 2 3 4 return 1 2 3 4 列表中的元素数
  • 嵌套列表的重叠会产生不必要的间隙

    我有一个包含三个列表的嵌套 这些列表由 for 循环填充 并且填充由 if 条件控制 第一次迭代后 它可能类似于以下示例 a 1 2 0 0 0 0 0 0 4 5 0 0 0 0 0 0 6 7 根据条件 它们不重叠 在第二次迭代之后 新
  • 使用主题交换运行多个 Celery 任务

    我正在用 Celery 替换一些自制代码 但很难复制当前的行为 我期望的行为如下 创建新用户时 应向tasks与交换user created路由键 该消息应该触发两个 Celery 任务 即send user activate email
  • python multiprocessing 设置生成进程等待

    是否可以生成一些进程并将生成进程设置为等待生成的进程完成 下面是我用过的一个例子 import multiprocessing import time import sys def daemon p multiprocessing curr
  • Pycharm 在 os.path 连接上出现“未解析的引用”

    将pycharm升级到2018 1 并将python升级到3 6 5后 pycharm报告 未解析的引用 join 最新版本的 pycharm 不会显示以下行的任何警告 from os path import join expanduser
  • 矩形函数的数值傅里叶变换

    本文的目的是通过一个众所周知的分析傅里叶变换示例来正确理解 Python 或 Matlab 上的数值傅里叶变换 为此 我选择矩形函数 这里报告了它的解析表达式及其傅立叶变换https en wikipedia org wiki Rectan
  • 打印包含字符串和其他 2 个变量的变量

    var a 8 var b 3 var c hello my name is var a and var b bye print var c 当我运行程序时 var c 会像这样打印出来 hello my name is 8 and 3 b
  • 通过Python连接到Bigquery:ProjectId和DatasetId必须非空

    我编写了以下脚本来通过 SDK 将 Big Query 连接到 Python 如下所示 from google cloud import bigquery client bigquery Client project My First Pr
  • 当字段是数字时怎么说...在 mongodb 中匹配?

    所以我的结果中有一个名为 城市 的字段 结果已损坏 有时它是一个实际名称 有时它是一个数字 以下代码显示所有记录 db zips aggregate project city substr city 0 1 sort city 1 我需要修
  • 尽管我已在 python ctypes 中设置了信号处理程序,但并未调用它

    我尝试过使用 sigaction 和 ctypes 设置信号处理程序 我知道它可以与python中的信号模块一起使用 但我想尝试学习 当我向该进程发送 SIGTERM 时 但它没有调用我设置的处理程序 只打印 终止 为什么它不调用处理程序
  • 如何将 ascii 值列表转换为 python 中的字符串?

    我在 Python 程序中有一个列表 其中包含一系列数字 这些数字本身就是 ASCII 值 如何将其转换为可以在屏幕上回显的 常规 字符串 您可能正在寻找 chr gt gt gt L 104 101 108 108 111 44 32 1
  • Pandas 组合不同索引的数据帧

    我有两个数据框df 1 and df 2具有不同的索引和列 但是 有一些索引和列重叠 我创建了一个数据框df索引和列的并集 因此不存在重复的索引或列 我想填写数据框df通过以下方式 for x in df index for y in df
  • 将 Matlab 的 datenum 格式转换为 Python

    我刚刚开始从 Matlab 迁移到 Python 2 7 在读取 mat 文件时遇到一些问题 时间信息以 Matlab 的日期数字格式存储 对于那些不熟悉它的人 日期序列号将日历日期表示为自固定基准日期以来已经过去的天数 在 MATLAB
  • 如何使用 Python 3 检查目录是否包含文件

    我到处寻找这个答案但找不到 我正在尝试编写一个脚本来搜索特定的子文件夹 然后检查它是否包含任何文件 如果包含 则写出该文件夹的路径 我已经弄清楚了子文件夹搜索部分 但检查文件却难倒了我 我发现了有关如何检查文件夹是否为空的多个建议 并且我尝
  • 为什么 csv.DictReader 给我一个无属性错误?

    我的 CSV 文件是 200 Service 我放入解释器的代码是 snav csv DictReader open screennavigation csv delimiter print snav fieldnames 200 for
  • 重新分配唯一值 - pandas DataFrame

    我在尝试着assign unique值在pandas df给特定的个人 For the df below Area and Place 会一起弥补unique不同的价值观jobs 这些值将分配给个人 总体目标是使用尽可能少的个人 诀窍在于这
  • 根据 Pandas 中的列表选择数据框行的子集

    我有一个数据框df1并列出x In 22 import pandas as pd In 23 df1 pd DataFrame C range 5 B range 10 20 2 A list abcde In 24 df1 Out 24
  • 如何在 Flask 中的视图函数/会话之间传递复杂对象

    我正在编写一个 Web 应用程序 当 且仅当 用户登录时 该应用程序从第三方服务器接收大量数据 这些数据被解析为自定义对象并存储在list 现在 用户在应用程序中使用这些数据 调用不同的视图 例如发送不同的请求 我不确定什么是最好的模式在视
  • 如何将Python3设置为Mac上的默认Python版本?

    有没有办法将 Python 3 8 3 设置为 macOS Catalina 版本 10 15 2 上的默认 Python 版本 我已经完成的步骤 看看它安装在哪里 ls l usr local bin python 我得到的输出是这样的

随机推荐

  • 在 Java 中对阿拉伯语单词进行排序

    我有一个阿拉伯语单词列表 我想对其进行排序 我已经尝试了具有不同语言环境的标准 Collat or 例如英语或法语 但没有太大希望 我什至创建了自己的 RuleBasedCollat or 但无济于事 显然 默认排序依赖于 unicode
  • python 集合的哈希如何工作[重复]

    这个问题在这里已经有答案了 我完全熟悉哈希表和哈希的工作原理 但我试图完全理解O 1 完全来自 set1 s t print x in set1 print s in set1 set2 s print s in set2 我被告知要检查是
  • 具有初始数据的 docker postgres 不会在提交时保留

    我在 Docker 环境中创建了一个 Rails 应用程序 它链接到一个 postgres 实例 我编辑了 postgres 容器添加初始数据 通过从 Rails 应用程序运行 rake db setup 现在我提交了 postgres 数
  • SELECT 然后立即删除 mysql 记录

    我有一个 PHP 脚本 它运行 SELECT 查询 然后立即删除记录 有多个机器正在 ping 同一个 php 文件并从同一个表中获取数据 每台远程机器都运行一个 cron 作业 我的问题是 有时它无法足够快地删除 因为某些机器在同一时间执
  • 如何从 FileReader() 获取路径目录?

    您好 我有这些代码来读取用户上传的文件 function readURL input if input files input files 0 var reader new FileReader reader onload function
  • 如何通过单击 HTML 中的图像来展开图像

    我的 html 页面中有一个图像 img src http s3 media1 ak yelpcdn com bphoto sMONYSiLUQEvooJ5hZh0Sw l jpg alt width 200 height 150 如何通过
  • 如何在不阻塞主线程的情况下使用 Qt-Dbus 绑定

    我的目标是使用创建一个库Qt 的 DBus 绑定 我尝试创建一个 Qt 应用程序而不启动QEventLoop 由提供QCoreApplication类 在主线程中 这是一个简约的应用程序示例 使用 QT 4 6 2 版本工作正常 但使用 Q
  • 从 Pandas 中的字符串中提取 int

    假设我有一个数据框df as A B 1 V2 3 W42 1 S03 2 T02 3 U71 我想要一个新专栏 要么在它的末尾df或更换色谱柱B与它 因为它并不重要 只从列中提取 intB 这就是我想要的专栏C看起来像 C 2 42 3
  • 强制转换为 typeof(self)

    是否有可能创建一个类别 扩展 最终返回一个转换为的对象instancetype 我有一个类别来加载 SKS 文件 但由于该类别适用于SKNode然后所有其他子类都喜欢SKScene or SKEmitterNode等 也会采用它 所以我只是
  • 除法返回零

    这个简单的计算返回零 我无法弄清楚 decimal share 18 58 100 您在这里使用整数 尝试对计算中的所有数字使用小数 decimal share 18m 58m 100m
  • 创建您自己的自定义适配器时,getView() 方法如何工作?

    我的问题是 LayoutInflater到底有什么作用呢 为什么我读过的所有文章都首先检查convertview 是否为空 当它为 null 时意味着什么 当它不为 null 时又意味着什么 该方法接受的父参数是什么 1 The Layou
  • Outlook 筛选项目 - 获取一周范围内的所有定期约会

    我试图在 Outlook 中获取一周范围内的所有约会 但重复发生的约会没有显示 这是代码 var outlook new Microsoft Office Interop Outlook Application var calendar o
  • 有没有带有观察点的免费 python 调试器? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 pdb 和 winpdb 似乎都缺少这个基本的 对我来说 功能 我看到一些建议 WingIDE 有它 但我更喜欢免费的解决方案 如果我必须付费 我更
  • Alamofire 4.0 证书无效问题

    我正在尝试通过 https 为我的 iOS 应用程序使用 Web 服务 Web 服务器使用自签名证书 使用 Web 服务时 我收到错误 证书无效 失败 错误域 NSURLErrorDomain代码 1202 该服务器的证书无效 您可能正在连
  • Gimp 的“Color to Alpha”功能背后的算法是什么?

    对于那些还不熟悉 Gimp 的 Color to Alpha 功能的人 以下是 Gimp 文档中的页面 颜色到 Alpha 它做得非常好 我很想知道 Gimp 在颜色处理方面到底是如何做到的 无论颜色可能处于哪个颜色空间 非常感谢您的任何提
  • Bootstrap 4 嵌套折叠“data-parent”不起作用

    我想用折叠数据父选项 我需要传统的手风琴行为 当显示可折叠项目时 应关闭指定父级下的所有可折叠元素 但这不起作用 我不知道这是因为我的嵌套崩溃还是我做错了什么
  • MySQL 失败:mysql“错误 1524 (HY000):插件‘auth_socket’未加载”

    我本地的环境是 全新 Ubuntu 16 04 与 PHP 7 安装了 MySQL 5 7 sudo apt get install mysql common mysql server 当我尝试登录 MySQL 通过 CLI 时 mysql
  • 将项目插入Python中的排序列表

    我正在创建一个类 其中一种方法将新项目插入到排序列表中 该项目将插入到已排序列表中的更正 已排序 位置 我不允许使用除 之外的任何内置列表函数或方法 and len尽管 这是让我真正感到困惑的部分 解决这个问题最好的方法是什么 Use th
  • Mono 下的 WebRequest 不支持 HTTP 协议

    我的一台 Macbook 遇到了最奇怪的问题 我有一个在 Macbook 上以 mono 运行的 C 应用程序 该应用程序通过 HTTP 与 Web 服务进行通信 并且在我的旧 Macbook 上完美运行 我买了一台新的 MacBook 并
  • 使用累加器的列表理解

    使用列表理解 或其他紧凑方法 复制这个简单函数的最佳方法是什么 import numpy as np sum 0 array for i in np random rand 100 sum i array append sum 在 Pyth