【发布时间】:2021-05-20 11:02:33
【问题描述】:
我一直在尝试解决这个问题。我想要做的是从列表中删除 None 值,例如:
list1 = [2,3,4,None,2,4,5]
我还有其他列表,它们的值与 list1 值相关(假设 list1 是天,另外两个是这些列表中发生的事情):
list1 = [2,3,4,None,2,4,5]
list2 = ['red','blue','white','red','blue','blue','blue']
我想从另一个列表中删除 None 值以及 red。所以我希望它们看起来像:
list1 = [2,3,4,2,4,5]
list2 = ['red','blue','white','blue','blue','blue']
我尝试过的如下:
for j in array_length(list1):
if list1[j] is None: #if value is None
print("Missing values. Omitting day.")
del list1[j] #deleting that day from all datasets
del list2[j]
array_length 是我创建的一个函数,它为我提供了一个从 0 到目标列表长度的数组。上面的代码不起作用,因为它给了我以下错误:
IndexError: list index out of range
我认为正在发生的事情是索引没有正确更新,但我不知道如何解决或绕过它。
【问题讨论】:
-
list1和list2是列表还是元组?将括号更改为方括号。list1=[2,3,4,None,2,4,5] -
感谢编辑!
标签: python list for-loop if-statement nonetype