有条件地将字符串列表与条件连接起来

时间:2014-11-05 04:02:19

标签: python string list conditional-statements string-concatenation

我希望有条件地连接列表的更有效方法的建议。

这项技术似乎有效:

sentence = ['this ','is ','are ','a ','sentence']
string = ''
for i in sentence:
    if i != 'are ':
        string += i

2 个答案:

答案 0 :(得分:8)

您可以使用str.joinlist comprehension

sentence = ['this ','is ','are ','a ','sentence']
string = ''.join([i for i in sentence if i != 'are '])

是的,我有目的地使用了列表理解。使用str.join时,它是generally faster而不是生成器表达式。

答案 1 :(得分:4)

您可以过滤掉are并与"".join连接,就像这样

>>> "".join(item for item in sentence if item != "are ")

这里,"".join表示加入生成器表达式返回的字符串,没有填充字符。如果您有",".join,那么所有元素都将由,加入。

实际上,"".join使用列表比使用生成器表达式更快。因此,只需将生成器表达式转换为具有列表推导的列表,如此

>>> "".join([item for item in sentence if item != "are "])