Python处理Spotify API数据:如何将列表中的空列表替换为None
错误原因
- 遍历取值逻辑问题:for循环中拿到的
i是列表元素的临时值拷贝,直接修改i不会同步修改原列表中的对应元素 - 判断条件错误:空列表
[]是列表类型,你和字符串"[]"做相等判断,类型不匹配,条件永远返回False - 赋值语法错误:你用了相等判断运算符
==做赋值操作,就算条件触发也不会完成赋值逻辑
正确实现方案
方案1:列表推导式(最简洁推荐)
直接用一行代码生成替换后的新列表即可:
n_available_markets = [item if item else None for item in n_available_markets]
说明:空列表的布尔判定结果为False,所以if item就可以直接判断是否为非空列表,满足条件保留原值,不满足则替换为None。
方案2:索引遍历修改原列表
如果你需要直接修改原列表而非生成新列表,可以按索引遍历操作:
for index in range(len(n_available_markets)): if not n_available_markets[index]: n_available_markets[index] = None
内容的提问来源于stack exchange,提问作者Westerndawn
相关产品推荐
相关产品推荐

