我对 Python 还是很陌生,并且完全混淆了.join()我所读过的连接字符串的首选方法。
.join()
我试过了:
strid = repr(595) print array.array('c', random.sample(string.ascii_letters, 20 - len(strid))) .tostring().join(strid)
并得到类似的东西:
5wlfgALGbXOahekxSs9wlfgALGbXOahekxSs5
为什么它会这样工作?不应该595只是自动附加吗?
595
仔细查看您的输出:
5wlfgALGbXOahekxSs9wlfgALGbXOahekxSs5 ^ ^ ^
我已经突出显示了原始字符串的“5”、“9”、“5”。Pythonjoin()方法是一个字符串方法,它需要一个与字符串连接的事物 列表 。一个更简单的例子可能有助于解释:
join()
>>> ",".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