python - 在 python 中将可能包含 None 的数组更改为包含 ""的数组

标签 python string

我有一个 python 函数,它获取一个名为 row 的数组。

通常行包含如下内容:

["Hello","goodbye","green"]

然后我打印它:

print "\t".join(row)

不幸的是,有时它包含:

["Hello",None,"green"]

产生此错误的原因:

TypeError: sequence item 2: expected string or Unicode, NoneType found

有没有一种简单的方法可以用“”替换任何 None 元素?

最佳答案

您可以使用 conditional expression :

>>> l = ["Hello", None, "green"]
>>> [(x if x is not None else '') for x in l]
['Hello', '', 'green']

一个稍微短一点的方法是:

>>> [x or '' for x in l]

但注意第二种方法也将0和其他一些对象更改为空字符串。

关于python - 在 python 中将可能包含 None 的数组更改为包含 ""的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2932304/

相关文章:

python - 获取函数文档字符串/初始注释 [Python]

python - 从 POST 请求获取对神经网络 web.py 包装器的响应

java - 在 Eclipse 中对齐多行 Java 字符串

java - java中如何强制转义字符

c++ - 遍历字符串c++中的行

python - pd.read_csv 无法加载 csv 文件的第一列,并且在 Excel 中打开和保存时文件大小发生变化

python - py2exe 错误处理重定向和弹出

python - 如何通过 Mechanize 传递隐藏的重新验证?

javascript - 如何搜索字符串数组并产生建议性结果

java - 在Java中将字符串拆分为等长的子字符串