Python 有条件地将字符串列表与条件连接起来
如果能提出更有效的有条件地连接列表的建议,我将不胜感激 这项技术似乎有效:Python 有条件地将字符串列表与条件连接起来,python,string,list,conditional-statements,string-concatenation,Python,String,List,Conditional Statements,String Concatenation,如果能提出更有效的有条件地连接列表的建议,我将不胜感激 这项技术似乎有效: sentence = ['this ','is ','are ','a ','sentence'] string = '' for i in sentence: if i != 'are ': string += i 您可以使用和: 是的,我有目的地使用了一个列表。使用str.join时,它不仅仅是一个生成器表达式。您可以过滤掉are并与连接。join,如下所示 >>> "".
sentence = ['this ','is ','are ','a ','sentence']
string = ''
for i in sentence:
if i != 'are ':
string += i
您可以使用和:
是的,我有目的地使用了一个列表。使用
str.join
时,它不仅仅是一个生成器表达式。您可以过滤掉are
并与连接。join
,如下所示
>>> "".join(item for item in sentence if item != "are ")
>>> "".join([item for item in sentence if item != "are "])
这里,”。join
表示将生成器表达式返回的字符串连接起来,不使用填充字符。如果有,”。join
,则所有元素都将通过,
进行连接
实际上,”.join
使用列表比使用生成器表达式更快。因此,只需将生成器表达式转换为具有列表理解的列表,如下所示
>>> "".join(item for item in sentence if item != "are ")
>>> "".join([item for item in sentence if item != "are "])
在我的计算机上,OP的解决方案比列表理解+Join快5%左右。我必须再问一个问题,为什么列表理解优于生成器。@mattkaeo它已经存在了。