如何优雅.join()一个字符串和一个列表?

时间:2015-01-08 15:00:04

标签: python string list

我需要加入两个字符串:

In [1]: a = "hello"
In [2]: b = "world"
In [4]: ' '.join((a, b))
Out[4]: 'hello world'

现在b = ["nice", "world"],有比

更优雅的东西
In [7]: ' '.join((a, ' '.join(b)))
Out[7]: 'hello nice world'

将所有元素(字符串和列表元素)连接到空格分隔的字符串中?

2 个答案:

答案 0 :(得分:3)

In [3]: ' '.join([a]+b)
Out[3]: 'hello nice world'

或者,如果您担心创建中间列表的成本,或者b根本不是一个列表,而是一些迭代器:

In [9]: ' '.join(itertools.chain([a],b))
Out[9]: 'hello nice world'

答案 1 :(得分:0)

您只需使用连接即可加入。

In [248]: a = "hello"

In [249]: b = ["nice", "world"]
In [252]: a + " " + ' '.join(b)
Out[252]: 'hello nice world'

或者只是使用格式化字符串。(如果列表有限)

In [254]: '{0} {1} {2}'. format(a, b[0], b[1])
Out[254]: 'hello nice world'

somehow better way是: -

In [255]: '{0} {1[0]} {1[1]}'. format(a, b) 
Out[255]: 'hello nice world'