Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Python列表中删除None_Python_List_Nonetype - Fatal编程技术网

从Python列表中删除None

从Python列表中删除None,python,list,nonetype,Python,List,Nonetype,我有一个如下列表: [None, None, None, None, [(u'data1', 2.0, 2.0, 1.0, 1.0, '2015-10-01', '2015-10-01')], None, None, None, None, [(u'data2', 8.0, 5.0, 0.625, 1.25, '2015-10-01', '2015-10-01')], None, None, None, None, None, None, [(u'data3', 1.0, 1.0, 1.0, 1

我有一个如下列表:

[None, None, None, None, [(u'data1', 2.0, 2.0, 1.0, 1.0, '2015-10-01', '2015-10-01')], None, None, None, None, [(u'data2', 8.0, 5.0, 0.625, 1.25, '2015-10-01', '2015-10-01')], None, None, None, None, None, None, [(u'data3', 1.0, 1.0, 1.0, 1.0, '2015-10-01', '2015-10-01')], None, None, None, None, None, None, None, None, None, None, None, None, None]
item = (val1, val2, val3, val4, val5, start_date, end_date)
array.append(item)
我需要删除None,这样我就可以遍历列表了。如果值为None,我应该不插入,还是在插入后将其从列表中删除

我正在建立如下列表:

[None, None, None, None, [(u'data1', 2.0, 2.0, 1.0, 1.0, '2015-10-01', '2015-10-01')], None, None, None, None, [(u'data2', 8.0, 5.0, 0.625, 1.25, '2015-10-01', '2015-10-01')], None, None, None, None, None, None, [(u'data3', 1.0, 1.0, 1.0, 1.0, '2015-10-01', '2015-10-01')], None, None, None, None, None, None, None, None, None, None, None, None, None]
item = (val1, val2, val3, val4, val5, start_date, end_date)
array.append(item)
前5个值将返回None。但从数据来看,有时只插入4个无,有时插入5个

我尝试了stack的几种解决方案,例如:

[x for x in result is not None]


但由于某些原因,即使val为None,它仍将追加。

您缺少列表中的一部分

[x for x in result if x is not None]

你在你的理解清单上遗漏了一部分

[x for x in result if x is not None]

你需要修正你的清单

results = [None, None, None, None, [(u'data1', 2.0, 2.0, 1.0, 1.0, '2015-10-01', '2015-10-01')], None, None, None, None, [(u'data2', 8.0, 5.0, 0.625, 1.25, '2015-10-01', '2015-10-01')], None, None, None, None, None, None, [(u'data3', 1.0, 1.0, 1.0, 1.0, '2015-10-01', '2015-10-01')], None, None, None, None, None, None, None, None, None, None, None, None, None]
results = [result for result in results if result is not None]
>>> [[(u'data1', 2.0, 2.0, 1.0, 1.0, '2015-10-01', '2015-10-01')], [(u'data2', 8.0, 5.0, 0.625, 1.25, '2015-10-01', '2015-10-01')], [(u'data3', 1.0, 1.0, 1.0, 1.0, '2015-10-01', '2015-10-01')]]

你需要修正你的清单

results = [None, None, None, None, [(u'data1', 2.0, 2.0, 1.0, 1.0, '2015-10-01', '2015-10-01')], None, None, None, None, [(u'data2', 8.0, 5.0, 0.625, 1.25, '2015-10-01', '2015-10-01')], None, None, None, None, None, None, [(u'data3', 1.0, 1.0, 1.0, 1.0, '2015-10-01', '2015-10-01')], None, None, None, None, None, None, None, None, None, None, None, None, None]
results = [result for result in results if result is not None]
>>> [[(u'data1', 2.0, 2.0, 1.0, 1.0, '2015-10-01', '2015-10-01')], [(u'data2', 8.0, 5.0, 0.625, 1.25, '2015-10-01', '2015-10-01')], [(u'data3', 1.0, 1.0, 1.0, 1.0, '2015-10-01', '2015-10-01')]]


瓦尔到底是什么?测试val是否为None,然后继续向数组中添加其他内容,即“item”。如果val不是None,
怎么会不起作用呢?因此我想我有更多的信息,val是api调用的响应。我认为,当没有数据返回“{u'responseAggregationType':u'byProperty'}”时,它会为我正在寻找的其他值插入任何数据。一个好的响应类似于“{u'rows':[{u'keys':[u'8位音乐'],u'impressions':178.0,u'clicks':12.0,u'ctr':0.0674157303707865,u'position':3.6179775280898876}],u'responseAggregationType':u'byProperty'}”。所以我尝试了“val=response['rows']然后,如果val不是None:',但我得到一个键错误,行dnew,val到底是什么?您测试val是否不是None,然后继续向数组中添加其他内容,即'item'。如果val不是None,
怎么会不起作用呢?所以我想我有更多的信息,val是来自api调用的响应。我认为发生的是当re不是数据,它返回“{u'responseAggregationType':u'byProperty'}”,然后为我正在寻找的其他值插入任何数据。一个好的响应类似于“{u'rows':[{u'keys':[u'8位音乐'],u'impressions'”:178.0,u'clicks':12.0,u'ctr':0.0674157303707865,u'position':3.6179775280898876}],u'responseAggregationType':u'byProperty'}”。因此,我尝试执行“val=response['rows'],然后如果val不是None:”,但我得到一个关键错误,即如果val不是None:
行dne
应该工作,因此必须有更多的内容question@PadraicCunningham这个问题还有什么其他的原因。我用他的确切清单试了一下,效果很好。可能
val
val1
无关,
val2
就像我们想的那样,或者
array
不是空的。是的,对不起,val与另一个无关vals@cmd,如果OP没有添加Nones,则根本不需要过滤,他们创建了这个列表,所以在第一个位置应该可以不添加它们,所以我说如果val不是None,那么
应该有效,如果val就是它们adding@PadraicCunningham是的,但是由于添加
None
的代码不包括在内…
如果val不是None:
应该已经起作用了,所以必须有更多的代码question@PadraicCunningham这个问题还有什么其他的原因。我用他的确切清单试了一下,效果很好。可能
val
val1
无关,
val2
就像我们想的那样,或者
array
不是空的。是的,对不起,val与另一个无关vals@cmd,如果OP没有添加Nones,则根本不需要过滤,他们创建了这个列表,所以在第一个位置应该可以不添加它们,所以我说如果val不是None,那么
应该有效,如果val就是它们adding@PadraicCunningham是的,但是由于添加的代码
None
不包括在内,我做了这个测试,能够将结果传递给itertools并将其转换为mysql mass insert的一个列表。我做了这个测试,能够将结果传递给itertools并将其转换为mysql mass insert的一个列表。