如何用列表推导式移除列表列表中第二位置为None的子列表
解决方法
直接用列表推导式过滤即可,核心是判断子列表的第二个元素(索引为1)是否不为None:
lst = [['a',102, True],['b',None, False], ['c',100, False]] new_lst = [sublist for sublist in lst if sublist[1] is not None]
运行后new_lst的结果就是[['a', 102, True], ['c', 100, False]],已经自动移除了第二位置元素为None的子列表。
原理很简单:列表推导式会遍历原列表中的每一个子列表,只有当子列表的第二个元素(sublist[1])不是None时,才会把这个子列表保留到新列表里。
内容的提问来源于stack exchange,提问作者chicagobeast12
相关产品推荐
相关产品推荐

