Python 用空格替换空字符串

Python 用空格替换空字符串,python,Python,你好,我开始学习Python,遇到了一个问题我想用空格(“”)替换列表中的每个空字符串例如,如果我使用函数(['''x','x','','','y','y','','''a'])调用函数我想返回一个字符串'xx yy a' def功能(a): 对于我来说,在一个: 如果i==无: a[i]=“” string=“”.join(a) 返回字符串 使用生成器表达式代替短路或: def function(a): return ''.join(char or ' ' for char in a)

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

def功能(a):
对于我来说,在一个:
如果i==无:
a[i]=“”
string=“”.join(a)
返回字符串

使用生成器表达式代替短路

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

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

替换None、False和空字符串

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

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

>>> ''.join(b)
   ' 11 22 '
>>> 
请注意,您的代码不会替换“”,因为“”不是无

>>>''==None

False

>>> 

嗯,空字符串不等于
None
。空字符串等于空字符串:<代码>如果i=='/COD>……也考虑在发布Python代码时删除尾随空白,确保准确地复制您的缩进。缩进严重的Python代码是胡说八道。另外,您需要
def
来定义一个函数。@khelwood-通常不需要,但是理解有自己的作用域,所以它不太可怕。但也不是完全可以P@TigerhawkT3在Python3中,它们有自己的作用域。在Python2中,它们没有。@khelwood-好吧,Python2有时候就是这样愚蠢。我同意并重命名了变量。我喜欢这个解决方案。短而甜,基于空字符串的计算结果为
False