私はPythonにかなり慣れて.join()
いないので、文字列を連結するための好ましい方法であるPythonを読んだことで完全に混乱しています。
私は試した:
strid = repr(595)
print array.array('c', random.sample(string.ascii_letters, 20 - len(strid)))
.tostring().join(strid)
そして、次のようなものを得ました:
5wlfgALGbXOahekxSs9wlfgALGbXOahekxSs5
なぜこのように機能するのですか?595
自動的に追加されるべきではありませんか?
出力を注意深く見てください:
5wlfgALGbXOahekxSs9wlfgALGbXOahekxSs5
^ ^ ^
元の文字列の「5」、「9」、「5」を強調表示しました。Python 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
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加