join()将夹在中间的当前字符串合并到下一个迭代字符串:(?)?

2024-09-27 23:17:15 发布

您现在位置:Python中文网/ 问答频道 /正文

def interleave(s1,s2):
    zipped_list=list(zip(s1,s2))
    print(zipped_list)
    empty_string=""
    for x in zipped_list:
        empty_string=empty_string.join(x)
        print(empty_string)
print(interleave("hi","bye"))

我的期望是压缩字符串的第一部分('h','b')将与空字符串连接,使empty_string="hb",现在对于下一次迭代,它将变成empty_string="hbiy",因为下一个压缩元组是('i','y')

但我的产出是: ihby 其中第一根线夹在第二根线中

请帮助我理解这一点,并纠正我的错误实施。谢谢

预期产出: 压缩两个输入字符串并显示为单个字符串hbiy


Tags: 字符串inforstringdefziplistempty
1条回答
网友
1楼 · 发布于 2024-09-27 23:17:15

您的代码很好,只不过有一部分您不理解将列表转换为字符串的概念! 代码如下:

def interleave(s1,s2):
    zipped_list=list(zip(s1,s2))
    print(zipped_list)
    empty_string=""
    for x in zipped_list:
        empty_string+="".join(x)
        print(empty_string)

print (interleave("hi","bye"))

这个"".join(x)在第一次迭代('h','b')中将元组转换为字符串,它将输出hb,它存储在empty_string中,在第二次迭代('i','y')中,它将输出iy,它将被连接到empty_string

相关问题 更多 >

    热门问题