首页  >  文章  >  后端开发  >  为什么 .join() 在 Python 中的元素之间插入字符而不是附加字符串?

为什么 .join() 在 Python 中的元素之间插入字符而不是附加字符串?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-19 20:01:03503浏览

Why Does .join() Insert Characters Between Elements Instead of Appending a String in Python?

了解字符串连接的 Join() 方法

在使用 Python 时,您可能会遇到 .join() 的概念连接字符串的首选方法。然而,它的功能可能会让初学者感到困惑。

考虑以下代码片段:

strid = repr(595)
print(array.array('c', random.sample(string.ascii_letters, 20 - len(strid))).tostring().join(strid))

此代码的行为不符合预期。它不是将“595”附加到结果中,而是生成 ASCII 字母表中的字符输出,其中散布着“595”的数字。

.join() 方法

为了理解原因,让我们拆解 .join() 方法。它将字符串作为参数并将其插入给定列表的元素之间。例如:

","join(["a", "b", "c"])

将产生“a,b,c”。在列表的每个元素之间插入“,”。

在您的代码中,“595”被视为三个单独字符的列表:[“5”、“9”、“5”]。因此,.join() 方法的字符串参数被插入到这些字符之间,从而产生观察到的输出。

替代方法:

如果您的意图是将字符串“595”连接到生成的字符串,您应该使用运算符:

print(array.array('c', random.sample(string.ascii_letters, 20 - len(strid))).tostring() + strid)

这将正确连接两个字符串,生成一个具有所需内容的字符串。

以上是为什么 .join() 在 Python 中的元素之间插入字符而不是附加字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn