如何从python列表中选择几个项目?

时间:2014-07-11 09:07:19

标签: python list

我有一个像

这样的场景
 log=[None]*4

然后根据某些条件我在日志列表中的None位置之一插入一个值。 假设

log=[Begin,None,None,None]

现在我想只获得

log=[Begin]

并且根据我的代码也没有使用索引,无论何时/何处都有,它会插入值 这该怎么做。我已经尝试过列表理解,但我认为不在'并不适用。

wal=[log[i] for i not in [None]]

1 个答案:

答案 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]