用空格替换空字符串

时间:2016-11-01 10:55:14

标签: python

你好我开始学习Python,但我遇到了一个问题。我想用空格(“”)替换列表中的每个空字符串。
例如,如果我用function(['', 'x', 'x', '', '', 'y', 'y', '', 'a'])调用该函数,我想返回一个字符串' xx yy a'

def function(a):
    for i in a:
        if i == None:
            a[i] = " "
    string = "".join(a)
    return string

2 个答案:

答案 0 :(得分:5)

使用生成器表达式而不是短路or

def function(a):
    return ''.join(char or ' ' for char in a)

如果字符是非空字符串,它将按原样使用。否则,将使用空格。

答案 1 :(得分:1)

替换None,False和空字符串

>>> a = ['','11',None,'22',False]

>>> b=[elem if elem else " " for elem in a]

>>> ''.join(b)
   ' 11 22 '
>>> 

请注意,您的代码不会替换''as''不是None

>>>''==None

False

>>>