我有一个 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/