リストに\を使用するエスケープシーケンスを知っている人はいませんか?Pythonリストでを使う方法
List = ['a','B','c','D','\'] # My python interpreter thinks I want
# a line continuation but I want the
# actual ASCII character.
リストに\を使用するエスケープシーケンスを知っている人はいませんか?Pythonリストでを使う方法
List = ['a','B','c','D','\'] # My python interpreter thinks I want
# a line continuation but I want the
# actual ASCII character.
これはあなたが前に別の\と\を "エスケープ"、
List = ['a','B','c','D','\\']
に動作します。さて、 "List"はおそらく変数名にとって最良の選択肢ではありません。
基本的に、特別なPython文字の ではなく、単純な "\"文字として\を使用する場合は、そのうちの2つを使用する必要があります。
たとえば、コード内で2つ使用されていても、リスト内に単一のバックスラッシュが表示され、単一の バックスラッシュが印刷されます。
for c in List:
if c == '\\':
print 'Found \\.'
出力:
Found \.
実際の名前ではなく、単なる例であり、ダブルバックラッシュはうまく動作しないようで、この '\\'を印刷します。私はちょうど '\'を印刷する何かのために行っています – RandomPhobia
@RandomPhobiaそれがあります。これを試してください:リストを印刷してください、それはあなたにバックスラッシュを与えます – Levon
@RandomPhobia:いいえ、二重バックスラッシュは正しいです。メモリ内の実際の文字列にはバックスラッシュが1つしか含まれていません。 2つのバックスラッシュを印刷する理由は、Pythonスクリプトにコピー&ペーストして構文エラーではなく同じ値を得ることができるからです。 'print '、' .join(List)'を実行すると、そこにバックスラッシュが1つしかないことがわかります。 –
それは次のようになります。二重のバックスラッシュを使用して
List = ['a','B','c','D','\\']
あなたは文字をエスケープすることができます。それはPython Reference - Lexical Analysisセクションで詳述されています。
それはあなたの単一のバックスラッシュをお返しします:
>>> print chr(ord(List[-1]))
\
を、それがリストにあることを全く特別なものではありません。 1つのバックスラッシュで文字列リテラルを作成したいだけです。 –
これは実際にはリストとは関係ありませんが、 '\\'文字は文字列*の中で特別なものです。 – Cameron