我在Python 2.7以下的循环。的Python编写与列表理解嵌套循环的MULT变量函数输出
pressure = []; cycle_flow = []; gauge_val = []
for element in readout_list:
if element.endswith('.dat'):
v1_2_3 = extract_sensor_values(element)
pressure.append(v1_2_3[0])
cycle_flow.append(v1_2_3[1])
gauge_val.append(v1_2_3[2])
我想写这个列表理解在一行中。如果函数extract_sensor()
只返回一个变量然后我可以很容易地使用这个列表理解:
v1_2_3=[extract_sensor_values(element) for element in readout_list if element.endswith('.dat')]
但是,我不知道如何从功能同时得到三个变量,使用列表理解。这在使用多行时看起来很简单,但是当我尝试将它放在一行上时,它不起作用。
是否有可能在一个列表理解返回多个函数值?
另外请注意,“更少的代码”是不是力求达到盲目的度量。虽然有时候你可以用语言的表现力来用较少的线条写出复杂的东西,但事实上常见的是,人们在一条线上过多地插入,导致几乎难以理解的悲伤混乱。 – mgilson
我同意。我们将在下面看到结果如何。在这种特殊情况下,很可能会出现单行不可能实现而不易读取的困难。 –