2017-05-24 70 views
-1

我想创建一个简单的for-loop来将一个浮动追加到嵌套列表。Python:使用for循环追加到嵌套列表

base = [[],[],[],[]]   # [h,T,rho,sos] 
top = [[],[],[],[]] 

for i in range(4):        # Select h,T,rho,sos 
    for j in range(len(marstable)-1):   # Append data to sublist 
     base[i].append(float(marstable[j][i])) 
    top[i] = base[i][1:] + [float(marstable[-1][i])] 

marstable在前面的函数中定义,也是一个嵌套列表。我不断收到一个错误“IndexError:列表索引超出范围”为线

base[i].append(float(marstable[j][i])) 

我为什么会这样,什么是解决它的最好方法?

感谢

+0

是否每个列表'marstable'至少有4个元素?我会尽量发布你的完整代码。 –

+0

检查'marstable'的第二个维度,是否有可能小于4? – Nuageux

回答

-1
base = [[],[],[],[]] 
top = [[],[],[],[]] 
for i in range(4): 
    for j in range(len(marstable)-1): 
     base[i].append(float(marstable[i][j])) 
    top[i] = base[i][1:] + [float(marstable[i][-1])]