Python新手求助:如何重组指定格式的字符串数据?
解决方案
你的需求核心是把两行输入的对应位置字符配对后按行输出,Python用内置函数就能搞定,不需要额外工具。下面直接给你可行的实现方式和思路:
核心思路
- 先把每行输入按空格拆成单个字符的列表
- 用内置的
zip()函数把两个列表的对应位置元素配对 - 把每对字符用空格隔开后逐行打印
完整代码示例
# 读取两行输入 line1 = input("输入第一行: ") line2 = input("输入第二行: ") # 将每行按空格分割成字符列表 chars1 = line1.split() chars2 = line2.split() # 配对对应位置的字符并格式化输出 for c1, c2 in zip(chars1, chars2): print(f"{c1} {c2}")
关键函数说明
split():这是字符串的内置方法,默认按空白字符分割字符串,能轻松把"D A P U R"拆成['D', 'A', 'P', 'U', 'R']这种列表。zip():Python内置的配对神器,它能把多个列表里同位置的元素打包成元组,比如把chars1和chars2配对后,会依次得到('D','N')、('A','U')这样的组合。
如果以后需要处理更多行的输入,也可以用下面的扩展写法,不管输入几行都能适配:
import sys # 读取所有输入行,自动跳过空行 lines = [line.strip() for line in sys.stdin.read().splitlines() if line.strip()] # 把每行都拆成字符列表 char_groups = [line.split() for line in lines] # 配对所有行的对应列并输出 for group in zip(*char_groups): print(" ".join(group))
内容的提问来源于stack exchange,提问作者danuw
相关产品推荐
相关产品推荐

