小编典典

.join() 方法到底是做什么的?

all

我对 Python 还是很陌生,并且完全混淆了.join()我所读过的连接字符串的首选方法。

我试过了:

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

并得到类似的东西:

5wlfgALGbXOahekxSs9wlfgALGbXOahekxSs5

为什么它会这样工作?不应该595只是自动附加吗?


阅读 64

收藏
2022-06-18

共1个答案

小编典典

仔细查看您的输出:

5wlfgALGbXOahekxSs9wlfgALGbXOahekxSs5
^                 ^                 ^

我已经突出显示了原始字符串的“5”、“9”、“5”。Pythonjoin()方法是一个字符串方法,它需要一个与字符串连接的事物
列表 。一个更简单的例子可能有助于解释:

>>> ",".join(["a", "b", "c"])
'a,b,c'

”,” 插入给定列表的每个元素之间。在您的情况下,您的“列表”是字符串表示形式“595”,它被视为列表 [“5”、“9”、“5”]。

看来您正在寻找的是+

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