You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python实现多字符串按对应行拼接及任意数量适配问询

实现多行字符串的对应行拼接(支持任意数量输入)

这个需求我之前也遇到过,处理多行文本对齐拼接的时候特别实用,给你一个通用的实现方案,支持任意数量的输入字符串,还能兼容各行数不一样的情况:

我们可以借助itertools里的zip_longest来对齐所有行(如果有的字符串行数少,会自动用空字符串补全),代码如下:

from itertools import zip_longest

def merge_lines(*strings, separator=' '):
    # 把每个输入字符串按换行符拆分成行的列表
    split_lines = [text.split('\n') for text in strings]
    # 对齐所有行,行数不足的用空字符串填充,然后把每一行的内容拼接
    combined_rows = [separator.join(row_parts) for row_parts in zip_longest(*split_lines, fillvalue='')]
    # 把拼接好的所有行重新用换行符连接起来
    return '\n'.join(combined_rows)

用法示例:

# 测试用的多行字符串
a = "Hello\nSome"
b = "World\nText"
c = "!\nExtra Line"

# 调用函数合并
result = merge_lines(a, b, c)
print(result)

输出结果会是:

Hello World !
Some Text Extra Line

额外说明:

  • 如果你只想要和最短的输入字符串行数一致的结果(也就是忽略行数多的字符串里超出的行),把zip_longest换成内置的zip就可以了,这样会自动截断到最短的行数。
  • 函数里的separator参数可以自定义,比如你想用逗号分隔,就传separator=', '就行。

内容的提问来源于stack exchange,提问作者sciencepiofficial

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 14:03:10