如何过滤list object中的空字符串,获取有效非空元素列表
实现方案
核心逻辑分为两步:
- 按原结构的索引顺序遍历所有元素
- 过滤掉空值后生成的新列表会自动适配从0开始的连续索引,不需要额外调整下标
Python 实现
情况1:原结构为普通列表
original_list = ["", "", "tag1", "tag2"] # 过滤空值,trim逻辑可按需删除 new_list = [item for item in original_list if item.strip() != ""]
情况2:原结构为稀疏字典(存在不连续索引)
original_dict = {0:"", 1:"", 3:"tag1", 4:"tag2"} # 先按索引升序排序,再过滤空值 sorted_items = sorted(original_dict.items(), key=lambda x: x[0]) new_list = [val for idx, val in sorted_items if val.strip() != ""]
JavaScript 实现
情况1:原结构为普通数组
const originalArr = ["", "", "tag1", "tag2"] const newArr = originalArr.filter(item => item.trim() !== '')
情况2:原结构为类字典的稀疏对象
const originalObj = {0:"", 1:"", 3:"tag1", 4:"tag2"} const newArr = Object.keys(originalObj) .sort((a, b) => Number(a) - Number(b)) .map(key => originalObj[key]) .filter(item => item.trim() !== '')
其他编程语言的实现逻辑完全一致,只要按顺序过滤空值即可得到目标结构。
内容的提问来源于stack exchange,提问作者Saeed As
相关产品推荐
相关产品推荐

