擅长:python、mysql、java
<p>这里有一个简单的实现,它可以在列表上工作,也可以在其他的iterable上工作。警告:它只经过了轻微的测试,而且仅在Python3.5中:</p>
<pre><code>import functools
def reduce_concat(x, sep=""):
return functools.reduce(lambda x, y: str(x) + sep + str(y), x)
def paste(*lists, sep=" ", collapse=None):
result = map(lambda x: reduce_concat(x, sep=sep), zip(*lists))
if collapse is not None:
return reduce_concat(result, sep=collapse)
return list(result)
print(paste([1,2,3], [11,12,13], sep=','))
print(paste([1,2,3], [11,12,13], sep=',', collapse=";"))
# ['1,11', '2,12', '3,13']
# '1,11;2,12;3,13'
</code></pre>
<p>您还可以享受更多乐趣并复制其他函数,如<code>paste0</code>:</p>
<pre><code>paste0 = functools.partial(paste, sep="")
</code></pre>