Skip to main content
 首页 » 编程设计

python之如果为空,则在子列表中输入值

2025年05月04日16leader

所以我有一个更大的 for 循环,它生成各种大小的嵌套列表:例如

[[6], [3], [5], [3, 2, 5, 3], [5], [6, 5, 4], [5, 3, 2]] 
[[5], [], [], [4], [3]] 
[[5], [2]] 
[[], [4], [3, 2, 4] 

简而言之,我希望每个具有空子列表的数组的值都为 0。就像: 如果生成的列表是: [[6], [3], [5], [3, 2, 5, 3], [5], [6, 5, 4], [5, 3, 2]]

然后我会保持这种状态。

但是如果生成的列表是:[[5], [], [], [4], [3]]

那么我希望它是: [[5]、[0]、[0]、[4]、[3]]

同样,对于上面的最后一行,我希望它是:[[0], [4], [3, 2, 4]

我一直在尝试以下方法:

for k in range(0,len(TempAisle)): 
           if TempAisle[k][0] == None: 
               TempAisle[k][0]= 0 
 k+=1 

但是我遇到了列表索引超出范围错误。

这似乎是一个相当简单的问题,并且看到其他人询问如何检查是否有一个空的子列表,但我无法用另一个值(在我的例子中为 0)替换它。任何帮助和解释将不胜感激。

请您参考如下方法:

您可以直接迭代项目 - 更Python 的方式 - 无需使用 range。测试每个项目的真实性(空列表是假的),并且仅当子列表为空时才附加零:

for x in TempAisle: 
    if not x: 
        x.append(0)