Python如何从for循环中的字典列表中删除空行?

Joh*_*tre 1 python dictionary

我有一个名为"行"的词典列表.但是,此列表包含一些空值的字典(标记为"无").如果在名为'lat'的键中找到"None",我怎么能写一个遍历每一行的for循环并删除整行?

这是我的词典列表("行").我想编写一个删除第一行的for循环,因为'lat'值是'None'.任何帮助将不胜感激!

[{'created_at': None, 'userid': None, 'long': None, 'tweetid': None, 'timestamp': None, 'lat': None},
 {'created_at': 'Mon May 04 04:35:34 +0000 2015', 'userid': '113503286', 'long': '-87.624387', 'tweetid': '595084326489956352', 'timestamp': '1430714134224', 'lat': '41.852653'}, 
 {'created_at': 'Mon May 04 04:35:46 +0000 2015', 'userid': '2421024865', 'long': '-87.629798', 'tweetid': '595084376632729600', 'timestamp': '1430714146179', 'lat': '41.878114'}]
Run Code Online (Sandbox Code Playgroud)

mse*_*man 7

列表理解是要走的路.

rows = [{'created_at': None, 'userid': None, 'long': None, 'tweetid': None, 'timestamp': None, 'lat': None},
 {'created_at': 'Mon May 04 04:35:34 +0000 2015', 'userid': '113503286', 'long': '-87.624387', 'tweetid': '595084326489956352', 'timestamp': '1430714134224', 'lat': '41.852653'}, 
 {'created_at': 'Mon May 04 04:35:46 +0000 2015', 'userid': '2421024865', 'long': '-87.629798', 'tweetid': '595084376632729600', 'timestamp': '1430714146179', 'lat': '41.878114'}]
rows = [ row for row in rows if row['lat'] is not None ]
Run Code Online (Sandbox Code Playgroud)

您可以阅读 列表推导文档以了解更多信息.

  • 你不需要检查`row ['lat']是否不是None`? (3认同)