文字列連結の Join() メソッドを理解する
Python を使用していると、.join() が文字列を連結するための推奨される方法。ただし、その機能は初心者にとって混乱を招く可能性があります。
次のコード スニペットを考えてみましょう:
strid = repr(595) print(array.array('c', random.sample(string.ascii_letters, 20 - len(strid))).tostring().join(strid))
このコードは期待どおりに動作しません。結果に「595」を追加する代わりに、「595」の数字が散在する ASCII アルファベットの文字の出力が生成されます。
.join() メソッド
その理由を理解するために、.join() メソッドを分解してみましょう。文字列を引数として受け取り、指定されたリストの要素の間に挿入します。例:
","join(["a", "b", "c"])
は「a,b,c」を生成します。リストの各要素の間に「,」が挿入されます。
コードでは、「595」は 3 つの個別の文字 ["5"、"9"、"5"] のリストとして扱われます。その結果、.join() メソッドの文字列引数がこれらの文字の間に挿入され、観察された出力が得られます。
代替方法:
文字列「595」を生成された文字列に連結するには、代わりに演算子を使用する必要があります:
print(array.array('c', random.sample(string.ascii_letters, 20 - len(strid))).tostring() + strid)
これは正しく動作します。 2 つの文字列を連結し、目的の内容を含む 1 つの文字列を生成します。
以上が.join() が Python で文字列を追加するのではなく、要素間に文字を挿入するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。