【发布时间】:2020-09-15 00:09:09
【问题描述】:
我希望用前面的值替换列表中的 None 值,但考虑到第一个值为 None 或前面的值为 None 的边缘情况;如果第一个值为 None 它应该保持 None。因此,例如下面是人们期望的输入和输出:
[1,2,None,3,None] --> [1,2,2,3,3]
[None,1,2,2,None,None,3] --> [None,1,2,2,2,2,3]
我尝试了一些带有循环的东西,但我不确定如何处理边缘情况:
myList = [1,None,1,2,None]
def replaceNone(myList):
res = []
for i in range(len(myList)):
if myList[i] is not None:
res.append(myList[i])
else:
res.append(myList[i-1])
return res
replaceNone(myList)
【问题讨论】:
-
列表中的预期输出是什么:
[None, None, 1]?