python-3.x - 从列表中删除空值,但索引为 0 的元素
问题描述
蟒蛇 3
我想从列表中删除所有空值,但索引为 0 的元素。换句话说,让我们有两个列表:
[1, "screen", "keyboard", "mouse", , , , "router", , ,]
[, "ball", "dumbbell", "bar-bell", , , , "sneakers"]
结果应该是:
[1, "screen", "keyboard", "mouse", "router"]
[, "ball", "dumbbell", "bar-bell", "sneakers"]
现在我正在尝试实现一个过滤器:
def delete_empty_values(a_list):
return list(filter(None, a_list))
但是这个过滤器会删除包括元素 0 在内的所有内容。
好吧,使用过滤器不是教条。你能帮我用最pythonyc的方式来实现计划吗?
解决方案
这里有几种方法:
[] if not a_list else [a_list[0], *filter(None, a_list[1:])]
[e for i, e in enumerate(a_list) if not (e is None and i)]
推荐阅读
- javascript - 将对象推送到数组
- javascript - 在javascript web3中将智能合约功能调用为aa字符串
- python - plt.hist() 创建的补丁对象不会被绘制
- javascript - Javascript 获取子数组的第二个元素(用逗号分隔)
- jquery - 如何在我的网站的每个页面上重用和 html 导航栏?
- python - TF Object Detection API Segmentation Fault
- c++ - 在 Linux 上启用 Unicode16
- typescript - 类构造函数类型
- html - 如何从div的开头到结尾建立链接
- c - 仅接受特定间隔之间的数字的循环