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

Python如何按字符位置拼接字符串列表得到完整结果

问题原因

原代码两层循环的终止条件都使用了len(a)(值为3,是列表的元素个数),导致外层循环仅遍历0、1、2三个字符索引,仅取到每个字符串的前3位字符拼接,因此只能输出不完整的结果。

修复代码

外层循环的终止条件需替换为单个字符串的长度(本题中三个字符串长度均为9,取任意一个的长度即可),内层保持遍历列表的所有元素:

a = ["cypatlyrm","aolsemone","nueeleuap"]
res = ""
# 外层遍历每个字符的位置索引
for i in range(len(a[0])):
    # 内层遍历列表中的每个字符串,取对应位置的字符
    for j in range(len(a)):
        res += a[j][i]
print(res)

运行后即可得到预期输出canyoupleasetellmeyournamep。

通用兼容方案

如果列表中字符串长度不一致,可按最长字符串的长度遍历,避免索引溢出:

a = ["cypatlyrm","aolsemone","nueeleuap"]
res = ""
max_length = max(len(s) for s in a)
for i in range(max_length):
    for s in a:
        # 仅当当前索引小于字符串长度时才取字符
        if i < len(s):
            res += s[i]
print(res)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 01:54:02