什么是 .join() 以及它如何在连接字符串中发挥作用?
Python 的 .join() 方法通常用于字符串级联。然而,在测试所提供的示例时,它产生了意想不到的结果。了解此方法的目的和用法可以阐明其行为的原因。
.join() 方法对字符串进行操作,并采用可迭代的元素作为参数。它在连接期间在可迭代的每个元素之间插入指定的字符串。
例如:
",".join(["a", "b", "c"]) # Output: 'a,b,c'
在提供的示例中:
array.array('c', random.sample(string.ascii_letters, 20 - len(strid))) .tostring().join(strid)
tostring()方法将字符数组转换为类似字节的对象。然后,这个类似字节的对象与字符串“595”一起用作 .join() 的输入。
但是,要理解的关键点是字符串“595”被视为一个列表它的单个字符,即[“5”,“9”,“5”]。因此,“.join()”对此列表进行操作,在每个字符之间插入类似字节的对象:
5wlfgALGbXOahekxSs9wlfgALGbXOahekxSs5 ^ ^ ^
输出中的每个“5”、“9”、“5”表示插入
要实现预期的串联,可以使用运算符:
array.array('c', random.sample(string.ascii_letters, 20 - len(strid))) .tostring() + strid
这种方法直接连接 bytes-like 对象具有字符串“595”的对象,产生所需的输出,而无需在字符之间插入任何内容。
以上是为什么连接字符串和类似字节的对象时“.join()”会产生意外结果?的详细内容。更多信息请关注PHP中文网其他相关文章!