替换列表中的 None 值? [英] Replace None value in list?

查看:76
本文介绍了替换列表中的 None 值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有:

d = [1,'q','3', None, 'temp']

我想将 None 值替换为 'None' 或任何字符串

预期效果:

d = [1,'q','3','None','temp']

尝试在字符串和 for 循环中替换,但出现错误:

TypeError: 需要一个字符缓冲区对象

解决方案

使用简单的列表推导式:

['None' if v is None else v for v in d]

演示:

<预><代码>>>>d = [1,'q','3', None, 'temp']>>>['None' 如果 v 是 None else v for v in d][1, 'q', '3', '无', '温度']

注意 is None 测试匹配 None 单例.

I have:

d = [1,'q','3', None, 'temp']

I want to replace None value to 'None' or any string

expected effect:

d = [1,'q','3', 'None', 'temp']

a try replace in string and for loop but I get error:

TypeError: expected a character buffer object

解决方案

Use a simple list comprehension:

['None' if v is None else v for v in d]

Demo:

>>> d = [1,'q','3', None, 'temp']
>>> ['None' if v is None else v for v in d]
[1, 'q', '3', 'None', 'temp']

Note the is None test to match the None singleton.

这篇关于替换列表中的 None 值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆