我需要在python的空列表中替换操作的结果

我需要在python的空列表中替换操作的结果,python,Python,对不起,我是新来的,我需要9个值​​对于T,替换每个值​​在T2列表中。我有这段python代码 import numpy as np Nb=10 Bx = np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) lx= np.array([ 25.5, 50.2, 80.3, 101.6, 130.4, 165.8, 190, 235, 237.9, 300 ]) visc = np.array([1135.7891419, 1135.7891419, 11

对不起,我是新来的,我需要9个值​​对于T,替换每个值​​在T2列表中。我有这段python代码

import numpy as np
Nb=10
Bx = np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1])
lx= np.array([ 25.5,  50.2,  80.3, 101.6, 130.4, 165.8, 190,  235,  237.9, 
300 ])
visc = np.array([1135.7891419, 1135.7891419, 1135.7891419, 1135.7891419, 
1135.7891419, 1135.7891419, 1135.7891419, 1135.7891419, 1135.7891419, 
1135.7891419])
y=300
z=100 
K= np.array([700, 750, 735, 780, 770, 775, 776, 778, 790, 792])
for i in range(Nb):
    lista = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    if i <Nb-1:
       T= (1/(visc[i]*Bx[i]))*(2*0.001127/(((lx[i])/(y*z*K[i+1]))+((lx[i+1])/(y*z*K[i+1]))))
       lista.insert(i, T)
    else:
       T=0
       lista.insert(i, T)
       break
    i=i+1
    print ("Transmisibilidad", i, "+1/2=", T)
print (lista)
我需要这样的东西,我非常感谢你的帮助

Transmisibilidad 1 +1/2= 0.589851703213957
Transmisibilidad 2 +1/2= 0.33531600348375945
Transmisibilidad 3 +1/2= 0.2552932649292381
Transmisibilidad 4 +1/2= 0.19759693062435824
Transmisibilidad 5 +1/2= 0.155773688040985
Transmisibilidad 6 +1/2= 0.12984739206384902
Transmisibilidad 7 +1/2= 0.10898534939640692
Transmisibilidad 8 +1/2= 0.0994569716143068
Transmisibilidad 9 +1/2= 0.08765992428622633
[0.589851703213957, 0.33531600348375945, 0.2552932649292381, 0.19759693062435824, 0.155773688040985, 0.12984739206384902, 0.10898534939640692, 0.0994569716143068, 0.08765992428622633, 0]
首先,lista在每次迭代中都会被重新分配

其次,list.insert不会替换元素。它会在列表中插入新元素,使列表变长

修复上述问题注意:我删除了所有∆s:

Nb=10
Bx = np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1])
visc = np.array([1135.7891419, 1135.7891419, 1135.7891419, 1135.7891419, 
1135.7891419, 1135.7891419, 1135.7891419, 1135.7891419, 1135.7891419, 
1135.7891419])
lx= np.array([ 25.5,  50.2,  80.3, 101.6, 130.4, 165.8, 190,  235,  237.9, 300 ])
y=300
z=100 
K= np.array([700, 750, 735, 780, 770, 775, 776, 778, 790, 792])
lista = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 
# Brought to outside of the loop

for i in range(Nb):
    if i <Nb-1:
       T= (1/(visc[i]*Bx[i]))*(2*0.001127/(((lx[i])/(y*z*K[i+1]))+((lx[i+1])/(y*z*K[i+1]))))
       lista[i] = T
    else:
       T=0
       lista[i] = T
       # break << Unnecessary
    i=i+1
    print ("Transmisibilidad", i, "+1/2=", T)
print (lista)

Transmisibilidad 1 +1/2= 0.5898517032138213
Transmisibilidad 2 +1/2= 0.3353160034836823
Transmisibilidad 3 +1/2= 0.25529326492917936
Transmisibilidad 4 +1/2= 0.1975969306243128
Transmisibilidad 5 +1/2= 0.15577368804094915
Transmisibilidad 6 +1/2= 0.12984739206381915
Transmisibilidad 7 +1/2= 0.10898534939638185
Transmisibilidad 8 +1/2= 0.09945697161428392
Transmisibilidad 9 +1/2= 0.08765992428620617
[0.5898517032138213, 0.3353160034836823, 0.25529326492917936, 0.1975969306243128, 0.15577368804094915, 0.12984739206381915, 0.10898534939638185, 0.09945697161428392, 0.08765992428620617, 0]

你好,欢迎来到StackOverflow。请提供一份报告。当我试着运行你的代码时,我得到了错误:什么是Nb,∆Y∆z、 K,lx?请确保粘贴的代码能够自行复制问题。谢谢谢谢,我已经添加了数据,它们确实对应于从xls文件中获取的数据
Nb=10
Bx = np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1])
visc = np.array([1135.7891419, 1135.7891419, 1135.7891419, 1135.7891419, 
1135.7891419, 1135.7891419, 1135.7891419, 1135.7891419, 1135.7891419, 
1135.7891419])
lx= np.array([ 25.5,  50.2,  80.3, 101.6, 130.4, 165.8, 190,  235,  237.9, 300 ])
y=300
z=100 
K= np.array([700, 750, 735, 780, 770, 775, 776, 778, 790, 792])
lista = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 
# Brought to outside of the loop

for i in range(Nb):
    if i <Nb-1:
       T= (1/(visc[i]*Bx[i]))*(2*0.001127/(((lx[i])/(y*z*K[i+1]))+((lx[i+1])/(y*z*K[i+1]))))
       lista[i] = T
    else:
       T=0
       lista[i] = T
       # break << Unnecessary
    i=i+1
    print ("Transmisibilidad", i, "+1/2=", T)
print (lista)

Transmisibilidad 1 +1/2= 0.5898517032138213
Transmisibilidad 2 +1/2= 0.3353160034836823
Transmisibilidad 3 +1/2= 0.25529326492917936
Transmisibilidad 4 +1/2= 0.1975969306243128
Transmisibilidad 5 +1/2= 0.15577368804094915
Transmisibilidad 6 +1/2= 0.12984739206381915
Transmisibilidad 7 +1/2= 0.10898534939638185
Transmisibilidad 8 +1/2= 0.09945697161428392
Transmisibilidad 9 +1/2= 0.08765992428620617
[0.5898517032138213, 0.3353160034836823, 0.25529326492917936, 0.1975969306243128, 0.15577368804094915, 0.12984739206381915, 0.10898534939638185, 0.09945697161428392, 0.08765992428620617, 0]