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

Python入门:如何区分字符串重复字符并实现垂直并排输出

问题分析与修正方案

你的代码核心问题出在string1.index(letter)这个用法上:index()方法只会返回字符第一次出现的索引,所以Hello里的两个l都会拿到索引2,对应World里的r,自然输出重复的错误结果。

下面给你两种简单的修正方法:

方法1:按索引遍历(直观易懂)

直接通过字符串的索引来逐个取对应位置的字符,因为两个字符串等长,索引范围一致:

string1 = 'Hello'
string2 = 'World'

# 遍历每个索引位置
for i in range(len(string1)):
    print(f"{string1[i]} {string2[i]}")

方法2:用zip()配对字符(更Pythonic)

zip()函数会自动把两个等长字符串的对应位置字符打包成元组,遍历的时候直接拿到每一对字符:

string1 = 'Hello'
string2 = 'World'

# 直接遍历配对后的字符对
for char1, char2 in zip(string1, string2):
    print(f"{char1} {char2}")

两种方法都能得到你想要的预期输出:

H W
e o
l r
l l
o d

以后处理需要对应位置操作的字符串时,尽量避免用index()找字符位置,尤其是字符串里有重复字符的场景,index()的特性会导致逻辑出错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 23:15:55