我有一个python函数,它获取一个名为row的数组.
通常行包含以下内容:
["Hello","goodbye","green"]
Run Code Online (Sandbox Code Playgroud)
我打印它:
print "\t".join(row)
Run Code Online (Sandbox Code Playgroud)
不幸的是,它有时包含:
["Hello",None,"green"]
Run Code Online (Sandbox Code Playgroud)
哪个会生成此错误:
TypeError: sequence item 2: expected string or Unicode, NoneType found
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法用""替换任何无元素?
Mar*_*ers 11
您可以使用条件表达式:
>>> l = ["Hello", None, "green"]
>>> [(x if x is not None else '') for x in l]
['Hello', '', 'green']
Run Code Online (Sandbox Code Playgroud)
稍微短一点的方法是:
>>> [x or '' for x in l]
Run Code Online (Sandbox Code Playgroud)
但请注意,第二种方法也将0和其他一些对象更改为空字符串.
| 归档时间: |
|
| 查看次数: |
1996 次 |
| 最近记录: |