我有一个像
这样的场景 log=[None]*4
然后根据某些条件我在日志列表中的None位置之一插入一个值。 假设
log=[Begin,None,None,None]
现在我想只获得
log=[Begin]
并且根据我的代码也没有使用索引,无论何时/何处都有,它会插入值 这该怎么做。我已经尝试过列表理解,但我认为不在'并不适用。
wal=[log[i] for i not in [None]]
答案 0 :(得分:4)
如果我理解正确,您需要log
中不是None
的元素列表。您可以通过发出
mylist = [x for x in log if x]
或者,如果None
中的log
以外的值在布尔上下文和中评估为False
,那么您希望在新的值中使用这些值列表:
mylist = [x for x in log if x is not None]
演示:
>>> log
[None, '', None, 1]
>>> [x for x in log if x]
[1]
>>> [x for x in log if x is not None]
['', 1]