首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么在具有zip的Python中,"for循环“的执行时间在两个等效的contextt中不大致相同

为什么在具有zip的Python中,"for循环“的执行时间在两个等效的contextt中不大致相同
EN

Stack Overflow用户
提问于 2019-10-09 02:00:21
回答 1查看 38关注 0票数 0

我在Python中使用相同的函数在两个不同但等效的上下文中运行相同大小的对象,运行相同的"for循环“。然而,这两个循环的计算时间并不相同。在一种情况下,它是另一种情况计算时间的三倍。以下是代码:

代码语言:javascript
运行
AI代码解释
复制
result = multiproc_map(local_analysis, state_batches)
for ii, (ATii,muii) in zip(state_batches, result):
   AT[:,ii] = ATii 
   mu[ii]  = muii 

以下是不同的执行时间(以秒为单位)。在上述两种情况下的代码部分:

执行multiproc_map时间: 9.5367431640625e-07 4.069389343261719

"for循环“的执行时间: 13.779568910598755 0.0259706974029541

在这两种情况下,对象local_analysis和state_batches的形状完全相同。

最后,我想了解为什么在这两种情况下执行时间是不同的,以及如何使执行时间更接近4s。在这两起案件中。

任何帮助都将不胜感激。当然,如果需要的话,我可以提供进一步的解释和细节:)

EN

回答 1

Stack Overflow用户

发布于 2019-10-11 03:12:16

我终于找到了解决这个问题的办法,但没有给出解释。当我在两种不同的情况下使用这个循环时,我可以跟踪bug的起源。我最后发现,如果更改参数在函数定义中的位置并使用关键字参数,"for循环“的执行时间就会有所不同。下面是函数的旧定义:

代码语言:javascript
运行
AI代码解释
复制
hybrid_dual_resolution(N,Nl,Nhs,Nls,alpha,betaH1,betaH2,betaH3,betaL1,betaL2,betaL3,
                       opt_file_hr,opt_file_lr,loc_radh,loc_radl,upd_a,
                       infl=1.0,rot=False,mp=False,taper='GC',**kwargs):

下面是函数的新定义,我将参数作为关键字参数:

代码语言:javascript
运行
AI代码解释
复制
def hybrid_dual_resolution(opt_file_hr=None,opt_file_lr=None,upd_a='DEnKF',
                           N=3,Nhs=200,Nl=32,Nls=200,loc_radh=17.7,loc_radl=8.75,
                           alpha=0.04,
                           betaH1=1.,betaH2=0.,betaH3=0.,
                           betaL1=0.,betaL2=1.,betaL3=0.,
                           taper='GC',infl=1.0,
                           rot=False,mp=False,**kwargs):

现在,在这两种情况下,循环的执行时间都是相同的,接近我在前一篇文章中提到的最小时间。

我对这个错误感到很惊讶。您认为将参数作为关键字参数传递会改变"for循环“的执行时间吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58301644

复制
相关文章
【Python】列表 List ⑦ ( 列表遍历 | 使用 while 循环遍历列表 | 使用 for 循环遍历列表 | while 循环 与 for 循环对比 )
将 列表 容器 中的数据元素 , 依次逐个取出进行处理的操作 , 称为 列表的遍历 ;
韩曙亮
2023/10/11
9810
Java之while循环基本使用
while 循环控制 1. 基本语法 2. while 循环执行流程分析 While01.java 画出流程图 使用 while 循环完成前面的题 //输出10句 你好,兮动人 int i = 1; //循环变量初始化 while( i <= 10 ) {//循环条件 System.out.println("你好,兮动人" + i);//执行语句 i++;//循环变量迭代 } System.out.println("退出while ,继续.." + i); // 11
玖柒的小窝
2021/09/17
7180
Java之while循环基本使用
Java之while循环基本使用
文章目录 while 循环控制 1. 基本语法 2. while 循环执行流程分析 3. 注意事项和细节说明 4. 课堂练习题 while 循环控制 1. 基本语法 2. while 循环执行流程分析
兮动人
2021/06/11
6330
Java之while循环基本使用
基础知识:if条件、while循环、fo
1、实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败!
py3study
2020/01/17
5790
while循环嵌套while循环
《代码大全》推荐先用伪代码来写框架,从最上层思考可以将抽象能力最大化,不会先陷入任何编程语言的实现细节中,通俗地说就是在蓝图层面解决问题。
不会飞的小鸟
2021/07/30
3.6K0
使用while循环打印颜色相隔表格
<?php //手动画表格相当于画二维数组 header("Content-Type:text/html; charset=utf8"); echo "<table bord
闵开慧
2018/03/30
1.2K0
软件测试|最全的Python for循环和while循环使用介绍
循环简单来说就是让一段代码按你想要的方式多次运行。软件拥有强大的运算能力,就是由循环提供的。
霍格沃兹测试开发Muller老师
2023/02/07
1.4K0
Js基础教程之while条件循环语句
JavaScript基础教程之while 一、while while (条件) { 要执行的代码块 } continue 不执行while后面语句,重新循环 break 跳出while语句 while (i < 10) { if(i==8) { i++; continue; } text += "数字是 " + i; if(i==9) break; i++; } console.log(text); 二、do while 至少执行一次 do { 要
老雷PHP全栈开发
2020/07/02
2.4K0
请停止在 React 中使用“&&”进行条件渲染
英文 | https://javascript.plainenglish.io/its-2023-please-stop-using-for-conditional-rendering-in-react-b588a09ebb17
winty
2023/08/23
2660
请停止在 React 中使用“&&”进行条件渲染
Java之do while循环控制语句基本使用
文章目录 do..while 循环控制 1. 基本语法 2. 说明: 3. do...while 循环执行流程分析 4. 注意事项和细节说明 5. 课堂练习题 do…while 循环控制 1. 基本语法 循环变量初始化; do{ 循环体(语句); 循环变量迭代; }while(循环条件); 2. 说明: do while 是关键字 也有循环四要素, 只是位置不一样 先执行,再判断,也就是说,一定会至少执行一次 最后 有一个 分号 ; while 和 do…while 3. do…while 循环执行流程分
兮动人
2021/06/11
8790
Java之do while循环控制语句基本使用
python流程控制之while循环的使用
while 条件:  执行代码 当条件条件成立,代码就会执行; count = 0  while count <= 100 : #只要count<=100就不断执行下面的代码    print("loop ", count )    count +=1    死循环: 有一种循环叫死循环,一经触发,就会一直运行。 while 是只要后边条件成立(也就是条件结果为真)就一直执行 count = 0 while True:     print("你是风儿我是沙,缠缠绵绵到天涯...",count)     
py3study
2020/01/14
1.1K0
python学习笔记(5)循环语句while,for的使用
python编程中的While语句用于循环执行程序,即在某条件下,执行某段程序,常常与if…else,for语句一起连用,下面是Whlie循环的基本形式:
大数据小禅
2021/08/16
1.5K0
python学习笔记(5)循环语句while,for的使用
While循环
While(条件)//如果条件为真则一直执行循环体中的内容 { 循环体 } 示例1 提示用户输入密码 888正确 若不正确继续输入 且只有三次重新输入的机会
用户7272142
2023/10/11
1630
while()循环
回顾一下java基础的while(true)循环,有时候实际项目中也会看到在用。本小节来梳理一下
在水一方
2022/06/14
1.5K0
while()循环
Java基础知识-循环语句的使用介绍(for、while、do-while)
本文介绍了循环语句在Java中的三种实现方式,分别是for循环、while循环和do-while循环。每种循环都有其适用的场景和用法,需要根据具体情况进行选择。同时,还给出了每种循环的代码示例和用法建议。
林老师带你学编程
2018/01/04
3.3K0
while循环与do…while循环的区别
while 先判断再执行 不满足循环条件时 一次都不会执行 do…while 先执行再判断 不管任何情况都至少执行一次
是阿超
2021/10/15
2.8K0
# C#学习 -循环结构-while循环-do ...while 循环-for循环
C#程序的三大结构 顺序结构:程序的入口都是Main函数,代码从上往下,从左往右,依次执行; 分支结构:当我们的程序执行到某个位置的时候,进行条件判断,根据判断的结果来执行不同的操作; 循环结构:在满足某个条件的时候反复执行一个语句序列(循环)。
呆呆敲代码的小Y
2021/08/12
3.2K0
进阶分支语句和使用while循环及break语句
了解和使用分支语句和while循环及break语句,加入数学运算并配合for循环,使用计算变量进行累加或累减操作。
楚客追梦
2022/11/11
1K0
进阶分支语句和使用while循环及break语句
【Python】循环语句 ② ( while 嵌套循环 | 代码示例 - while 嵌套循环 )
while 嵌套循环 也是基于 空格缩进 , Python 中基于 空格缩进 判定代码逻辑的层次关系 ;
韩曙亮
2023/10/11
4790
【Python】循环语句 ② ( while 嵌套循环 | 代码示例 - while 嵌套循环 )
点击加载更多

相似问题

NGINX不是从本地主机服务,而是从127.0.0.1提供服务。

13

从Keystore获取privatekey

10

本地主机上的专用pypi服务器

11

使用javascript从本地主机服务获取数据

12

如何通过提供PrivateKey来获取RSA PublicKey?

50
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文