如何优雅地.join() 一个字符串和一个列表?
how to elegantly .join() a string and a 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'
将所有元素(字符串和列表的元素)连接成一个 space 分隔字符串?
您可以简单地使用连接来加入。
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'
In [3]: ' '.join([a]+b)
Out[3]: 'hello nice world'
或者,如果您担心创建中间列表的成本,或者如果 b
根本不是一个列表,而是一些迭代器:
In [9]: ' '.join(itertools.chain([a],b))
Out[9]: 'hello nice world'
我需要连接两个字符串:
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'
将所有元素(字符串和列表的元素)连接成一个 space 分隔字符串?
您可以简单地使用连接来加入。
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'
In [3]: ' '.join([a]+b)
Out[3]: 'hello nice world'
或者,如果您担心创建中间列表的成本,或者如果 b
根本不是一个列表,而是一些迭代器:
In [9]: ' '.join(itertools.chain([a],b))
Out[9]: 'hello nice world'