gpt4 book ai didi

python - 在循环中的两个函数之间交替的 pythonic 方法是什么

转载 作者:行者123 更新时间:2023-11-28 20:04:00 24 4
gpt4 key购买 nike

对我来说这似乎是一个简单的问题,但搜索没有找到任何有用的信息。

我有如下代码:

    for key, v in enumerate(ranges):

### Used to switch between voltage steps
second_iter = 0

for step in v:

### Set voltage sources to differential voltages
if second_iter == 0:
self.tf.institf.dcm.vsource1(step)
second_iter = 1
elif second_iter == 1:
self.tf.institf.dcm.vsource2(step)

self.measure_something()

v 是一个 2 元素列表。 ranges 是 v 的列表。我想循环遍历每个 v,但每次都在不同的函数中使用第二个元素。

上面的代码有pythonic的写法吗?

编辑:为了澄清,我想在之后做一些单独的代码来衡量一些事情。所以我不能同时设置这两个功能。

最佳答案

您的代码非常不直观...如果不滥用循环,这样做还不够吗?

vsource1 = self.tf.institf.dcm.vsource1
vsource2 = self.tf.institf.dcm.vsource2

for key, (v1, v2) in enumerate(ranges):

vsource1(v1)
# Do some other stuff

vsource2(v2)
# Do some other stuff

或者,如果“内容”相同,您确实可以使用这样的循环来避免重复自己:

vsource1 = self.tf.institf.dcm.vsource1
vsource2 = self.tf.institf.dcm.vsource2

funcs = (vsource1, vsource2)

for key, steps in enumerate(ranges):
for func, step in zip(funcs, steps):
func(step)
# Do some other stuff

关于python - 在循环中的两个函数之间交替的 pythonic 方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38369250/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com