小编ben*_*man的帖子

Python并行遍历列表?

我创建的列表中包含的项不超过8个,现在我用标准的for循环“针对列表中的项目:”遍历该项目:我想知道是否有一种方法可以准确地检查所有元素同时?我看过一些有关使用zip同时遍历2个列表的帖子,这可能会有所帮助。

如果没有办法同时遍历一个list元素,我想我需要将一个单独的列表拆分为4个单独的列表,然后使用zip遍历2个,并在一个单独的线程上同时进行另外2个,这似乎但这可能是一个笨拙的修复程序。

任何帮助,将不胜感激。

编辑 抱歉,我不清楚

apples = ['green', 'green', 'green', 'red']
Run Code Online (Sandbox Code Playgroud)

现在,我使用for循环遍历每个元素,

for apple in apples:
    checkAppleColour(apple)
    #Do some more stuff depending on colour....
Run Code Online (Sandbox Code Playgroud)

现在,它一个接一个地循环遍历苹果中的每个元素,我想做的是在每毫秒精确计数的同时,对每个项目进行一次颜色检查(使用的示例代码,但原理是对于我要达到的目标也是如此)。

在这里,性能是关键,我不介意是否必须使用它的线程,但是我需要最大的速度/效率来检查每个元素,我的猜测是并行性是做到这一点的方式,我只是不太确定该怎么做。

python iteration parallel-processing

1
推荐指数
1
解决办法
2869
查看次数

Swift NSTimer 动态改变间隔

如何更改 NSTimer 上的时间间隔?

var difficulty: Double = 1.0

override func viewDidLoad() {
    super.viewDidLoad()

    _ = NSTimer.scheduledTimerWithTimeInterval(difficulty, target: self, selector: #selector(hideAllBtns), userInfo: nil, repeats: true)

}
Run Code Online (Sandbox Code Playgroud)

我运行每次从 hideallbuttons 调用的 switch 语句,然后更新难度。

func getDifficulty (score : Double) -> Double {

    switch score {

    case 0...100: return(1.0)
    case 100...200: return (0.8)
    case 200...300: return (0.5)
    case 300...400: return (0.2)
    default: return (1.0)

    }
}
Run Code Online (Sandbox Code Playgroud)

然而 NSTimer 继续在 1.0s 触发我认为它在第一次运行时创建一个副本并坚持该值,我试图在计时器调用中创建一个变量,但这不起作用。

有没有一种简单的方法可以动态调整计时器触发的速率?

这只是一个练习项目,因为我仍在学习,所以我知道可能有更好的方法来构建我正在尝试做的事情。我认为动态调整计时器对将来的使用很有用。

nstimer swift

1
推荐指数
1
解决办法
4772
查看次数

标签 统计

iteration ×1

nstimer ×1

parallel-processing ×1

python ×1

swift ×1