我理解这段代码正在正常运行,并且是从每个excel文件中分别抓取的,但是我想创建一个for循环,用于跨多个excel文件使用这些数据。
kinematic_viscosity = []
kinematic_viscosity_1= []
kinematic_viscosity_2= []
#*empty arrays for creating after loop in completed*
for dynamic_viscosity in DV:
kinematic_viscosities = dynamic_viscosity/Density_PE_298k
kinematic_viscosity.append(kinematic_viscosities)
for dynamic_viscosity_1 in DV_1:
kinematic_viscosities_1 = dynamic_viscosity_1/Density_PE_298k
kinematic_viscosity_1.append(kinematic_viscosities_1)
#second loop
for dynamic_viscosity_2 in DV_2:
kinematic_viscosities_2 = dynamic_viscosity_2/Density_PE_298k
kinematic_viscosity_2.append(kinematic_viscosities_2)
#third loop发布于 2019-09-18 01:05:44
一个可能的解决方案是使用zip()。这允许您一次迭代多个列表。您还可以将创建列表浓缩为一行。而且,您可以删除将dynamic_viscosity_#/Density_PE_298k赋值给变量,只需将其附加到列表中即可。请考虑以下几点:
kinematic_viscosity, kinematic_viscosity_1, kinematic_viscosity_2 = [], [], []
for dynamic_viscosity, dynamic_viscosity_1, dynamic_viscosity_2 in zip(DV, DV_1, DV_2):
kinematic_viscosity.append(dynamic_viscosity/Density_PE_298k)
kinematic_viscosity_1.append(dynamic_viscosity_1/Density_PE_298k)
kinematic_viscosity_2.append(dynamic_viscosity_2/Density_PE_298k)虽然它看起来更块状,但它允许您只循环一次列表。
另一种解决方案是保留这三个循环,但将返回直接附加到列表中。请考虑以下几点:
kinematic_viscosity = [dynamic_viscosity/Density_PE_298k for dynamic_viscosity in DV]
kinematic_viscosity_1= [dynamic_viscosity_1/Density_PE_298k for dynamic_viscosity_1 in DV_1]
kinematic_viscosity_2= [dynamic_viscosity_2/Density_PE_298k for dynamic_viscosity_2 in DV_2]https://codereview.stackexchange.com/questions/229215
复制相似问题