首页 > 解决方案 > 为什么连接函数在python中不返回预期的字符串

问题描述

为什么以下代码不输出“John White”,而是输出:“WJohnhJohniJohntJohne”

name = 'John Black'
print(name[:len(name)-6].join("White"))

我想要做的是将字符串从开头“剪切”到结尾的第 6 个字母,例如“John”并将第二个名字“White”加入它。

输出应该是“John White” 为什么它不起作用?

标签: pythonpython-3.x

解决方案


作用于其上的对象join()是分隔符,用作join参数迭代中所有元素之间的粘合剂。一个典型的用例是:delimiter.join(list),例如':'.join(['a', 'b', 'c'])which give a:b:c。有关详细信息,请参阅文档

看来您实际上想连接字符串,即

name = 'John Black'
print(name[:len(name)-6] + 'White')  # note that the space is not included

推荐阅读