-
Pythonで文字列内の文字のリストを削除するにはどうすればよいですか?
文字列クラスには、文字列内のサブ文字列を置き換えるために使用できるメソッドreplaceがあります。このメソッドを使用して、削除する文字を空の文字列に置き換えることができます。例: >>> "Hello people".replace("e", "") "Hllo popl" 1行の文字列から複数の文字を削除する場合は、正規表現を使用することをお勧めします。複数の文字は「|」で区切ることができますそして、re.sub(chars_to_replace、string_to_replace_with
-
Python csv文字列を配列に変換する方法は?
最も簡単な方法は、str.splitメソッドを使用して、「、」が出現するたびに分割し、すべての文字列をstripメソッドにマップして、先頭/末尾の空白を削除することです。たとえば、 >>> s = "1, John Doe, Boston, USA" >>> print map(str.strip, s.split(',')) ['1', 'John Doe', 'Boston', 'USA'] 複数行のcsvを含む複数行の文字列がある場合は、\ nで分割し
-
Pythonで文字列内のn番目の部分文字列を見つける方法は?
最大n+1分割で部分文字列を分割することにより、文字列内でn番目に出現する部分文字列を見つけることができます。結果のリストのサイズがn+1より大きい場合は、サブストリングがn回以上出現することを意味します。そのインデックスは、元の文字列の長さ-最後に分割された部分の長さ-部分文字列の長さという簡単な式で見つけることができます。 例 def findnth(string, substring, n): parts = string.split(substring, n + 1) if len(parts) <= n + 1: &nbs
-
Python文字列で数学演算を実行できますか?
eval関数を使用して、文字列の数式を評価できます。 例 たとえば、コンテンツ(4 * 5)+ 21の文字列がある場合、それを評価して結果を取得できます。 >>> s = "(4*5) + 22" >>> eval(s) 42 Evalは、括弧が指定されていない場合などの数式を評価するためのPythonルールに従います。evalを使用する場合は、セキュリティの大きな抜け穴やバグの原因となる可能性があるため、十分に注意してください。
-
Pythonで%sの代わりに%rを使用するのはいつですか?
%s指定子はstr()を使用してオブジェクトを変換し、%rはrepr()を使用してオブジェクトを変換します。 整数などの一部のオブジェクトでは、同じ結果が得られますが、repr()は、(これが可能なタイプの場合)通常は有効なPython構文である結果を返すという点で特別です。これを使用して、オブジェクトを明確に再作成できます。を表します。たとえば、エンドライン文字を含む文字列がある場合、%sは実際には新しい行にデータを表示しますが、%rは出力を\ nとして提供し、引用符もそのまま保持します。 例 >>> string = "Hello\nworld" &
-
Pythonで「+」演算子を使用せずに文字列を連結するにはどうすればよいですか?
文字列クラスのstr.join(list_of_strings)を使用できます。呼び出す文字列は、引数として指定する文字列のリストを結合するために使用されます。 例 >>> ' '.join(['Hello', 'World']) 'Hello World' >>> ''.join(['Hello', 'World', 'People']) 'HelloWorldPeople' >>> ',
-
Pythonで文字列が繰り返されるかどうかを確認するにはどうすればよいですか?
私たちが持っている文字列が、この文字列の部分文字列の繰り返しのみで構成されているかどうかを確認したいと思います。文字列の回転が2つの文字列の組み合わせに存在するかどうかを確認できることを確認します。これは、文字列がそれ自体の自明でない回転に等しい場合にのみ、文字列が周期的であるためです。 例 次のコードはこれをチェックし、それに応じて戻ります: def find_period(s): # Concatenate 2 s and find s within # index one to end of the string &
-
Pythonを使用して文字列をJSONに変換する方法は?
json.loads()を使用してJSON文字列を辞書に変換します。このメソッドは、有効なjson文字列を受け入れ、すべての要素にアクセスできる辞書を返します。たとえば、 >>> import json >>> s = '{"success": "true", "status": 200, "message": "Hello"}' >>> d = json.loads(s) >>> print d["
-
Pythonで文字列の末尾から部分文字列を削除するにはどうすればよいですか?
文字列の末尾から部分文字列を削除する場合は、文字列がその部分文字列で終わっているかどうかを最初に確認する必要があります。含まれている場合は、サブストリングのない部分のみを保持してストリングをスライスします。たとえば、 def rchop(string, ending): if string.endswith(ending): return string[:-len(ending)] return string chopped_str = rchop('Hello world', 'orld') print
-
複数行の文字列を複数行に分割するにはどうすればよいですか?
これを実現するには、文字列クラスのメソッドsplitlines()を使用できます。 例 >>> """some multi line string""".splitlines() ['some', 'multi line', 'string'] 次のように、split()メソッドで区切り文字\nを指定することもできます- >>> """some multi line string""".s
-
Pythonでセミコロンで区切られた文字列を辞書に分割するにはどうすればよいですか?
次のような文字列がある場合: "Name1=Value1;Name2=Value2;Name3=Value3" そしてそれを辞書に変換したいのなら、それはかなり簡単です。 ;で簡単に分割できます次に=で、これをdictコンストラクターに渡します。 例 >>> s = "Name1=Value1;Name2=Value2;Name3=Value3" >>> dict(item.split("=") for item in s.split(";")) {'Name2
-
Python辞書を文字列にシリアル化する方法とその逆の方法を教えてください。
文字列でのPython辞書の最適な表現はJSONです。 json.dumps(dict)を使用して、辞書を文字列に変換できます。また、json.loads(string)を使用して、文字列から辞書を取り戻すことができます。 例 たとえば、指定された辞書を次のようにシリアル化します。 >>> import json >>> d = {'id': 15, 'name': 'John'} >>> x = json.dumps(d) >>> print x {"id&qu
-
文字列をPythonで単語のリストに変換する方法は?
単語のリスト内の文字列を変換するには、空白で文字列を分割する必要があります。文字列クラスからsplit()を使用できます。このメソッドのデフォルトの区切り文字は空白です。つまり、文字列で呼び出されると、その文字列が空白文字で分割されます。 例 >>> "Please split this string".split() ['Please', 'split', 'this', 'string'] 正規表現を使用して、この問題を解決することもできます。正規表現\s +を区切り文字として使用して、
-
Pythonで文字列を大文字にする方法は?
文字列の最初の単語の最初の文字を大文字にするだけの場合は、文字列クラスのcapitalizeメソッドを使用できます。 例 >>> s = "my name" >>> s.capitalize() 'My name' 文字列のスライスによって手動でこれを実現することもできます。 例 >>> s = "my name" >>> s = s[:1].upper() + s[1:] 'My name' 文字列の各単語を大文字にする場合は、文字列クラスのti
-
Pythonの文字列とバイト文字列の違いは何ですか?
文字列は文字のシーケンスです。これらは抽象的な概念であり、ディスクに直接保存することはできません。バイト文字列はバイトのシーケンスであり、ディスクに保存できるものです。それらの間のマッピングはエンコーディングです-これらはかなりたくさんあります(そして無限に多くが可能です)-そして、異なるエンコーディングが同じバイトをマッピングする可能性があるため、変換を行うために特定の場合にどちらが適用されるかを知る必要があります別の文字列に。たとえば、同じバイト文字列は、2つの異なるエンコーディングで2つの異なる文字列を表すことができます。 例 >>> b'\xcf\x84o\x
-
Pythonで文字列の文字をアルファベット順に並べ替える方法は?
文字列内の文字をアルファベット順に並べ替えるには、文字の並べ替えられたリストを返す並べ替え関数を使用する必要があります。この関数を結合して文字列を取得できます。たとえば、 >>> s = "helloworld" >>> ''.join(sorted(s)) 'dehllloorw' 一意の文字のみを並べ替える場合は、セットを使用して結果を取得できます。たとえば、 >>> s = "helloworld" >>> ''.join(so
-
Python 3で辞書を使用して文字列をフォーマットするにはどうすればよいですか?
辞書を使用して文字列を補間できます。これらには、%と変換文字の間の括弧内にキーを指定する必要がある構文があります。たとえば、フロートがキー「cost」に格納されていて、それを「$ xxxx.xx」としてフォーマットする場合は、表示する場所に「$%(cost).2f」を配置します。 。 辞書で文字列フォーマットを使用して文字列を補間し、数値をフォーマットする例を次に示します。 >>>print('%(language)s has %(number)03d quote types.' % {'language': "Python&quo
-
Pythonで文字列を特定の長さまで繰り返す効率的な方法は何ですか?
文字列をn文字まで繰り返す場合は、最初に文字列全体をn / len(s)回繰り返し、最後にn%len(s)文字を追加します。たとえば、 def repeat_n(string, n): l = len(s) full_rep = n/l # Construct string with full repetitions ans = ''.join(string for i in xrange(full_rep)) #
-
Pythonで最も効率的な文字列連結メソッドは何ですか?
文字列変数に文字列を追加する最良の方法は、+または+=を使用することです。これは、読みやすく高速だからです。彼らはまた同じくらい速いです。これ以外に、2つの文字列を使用している場合は、append()も使用できます。 文字列のリストを連結する場合は、join()を使用することをお勧めします。これは、文字列のリストを受け入れて連結し、この場合に最も読みやすいためです。 パフォーマンスを求めている場合、非常に長い文字列を使用していると、追加/結合がわずかに高速になります。
-
Python文字列の最大長はどれくらいですか?
64ビットのPythonインストールと64GBのメモリを使用すると、約63GBのPython2文字列が非常に実現可能になります。それをはるかに超えてメモリをアップグレードできる場合は、実行可能な最大文字列が比例して長くなるはずです。しかし、これにはランタイムへの影響が伴います。 もちろん、一般的な32ビットPythonインストールでは、アプリケーションで使用できるメモリの合計は2GBまたは3GB(OSと構成によって異なります)などに制限されているため、使用できる最長の文字列は非常に大量のRAMを使用する64ビットインストールの場合。