【发布时间】:2015-03-18 18:59:59
【问题描述】:
我想根据值是否为无,将 items[1]、items[2]、items[3] 替换为布尔值。这有效,但从输出中消除了items[0]、items[4]、items[5]。我可以重新插入/追加值,但我认为必须有一种方法可以在一行中完成。
my_list = [[10,30,None,20,30,40],[10,20,None,10,30,40]]
booleans = [[1 if item is None else 0 for item in each_list[1:-2]] for each_list in my_list]
print booleans
预期输出:
[[10, 0, 1, 0, 30, 40], [10, 0, 1, 0, 30, 40]]
【问题讨论】:
-
为了清楚起见,只需添加预期的输出
-
@BhargavRao 刚刚添加
-
注意可以赋值给切片;
each_list[1:-2] = [1 if item is None ...],尽管您必须展开列表理解才能执行此操作。
标签: python python-2.7 list-comprehension slice