-
Pythonでstrオブジェクトとintオブジェクトを連結するにはどうすればよいですか?
文字列を数値と連結するには、str(number)を使用して数値を文字列にキャストする必要があります。たとえば、 >>> a = "string" >>> b = 1 >>> print a + str(b) string1 Python 2では、backtick( ``)を使用して数値を囲み、数値と文字列で同じ結果を得ることができます。 Python3からバッククォートが削除されていることに注意してください。たとえば、 >>> a = "string" >>>
-
Pythonの文字列からANSIエスケープシーケンスを削除するにはどうすればよいですか?
正規表現を使用して、Pythonの文字列からANSIエスケープシーケンスを削除できます。 re.sub()を使用して、エスケープシーケンスを空の文字列に置き換えるだけです。 ANSIエスケープシーケンスの削除に使用できる正規表現は次のとおりです。(\ x9B | \ x1B \ [)[0-?] * [-\ /] * [@-〜]。 たとえば、 import re def escape_ansi(line): ansi_escape =re.compile(r'(\x9B|\x1B\[)[0-?]*[ -\/]*[@-~]')  
-
Pythonで空白の文字列を分割する方法は?
文字列クラスからplit()を使用できます。このメソッドのデフォルトの区切り文字は空白です。つまり、文字列で呼び出されると、その文字列が空白文字で分割されます。例: >>>"Please split this string".split() ['Please','split', 'this', 'string'] 正規表現を使用して、この問題を解決することもできます。正規表現\s +を区切り文字として使用して、re.split()メソッドを呼び出すことができます。この方法は、上記
-
Pythonでのエンコード/デコードの違いは何ですか?
Unicode文字列をバイト文字列として表すことは、エンコーディングと呼ばれます。バイトの文字列をUnicode文字列に変換することは、デコードと呼ばれます。通常、ユニコード文字列をIOに使用する必要がある場合は常にエンコードします。たとえば、ネットワーク経由で転送したり、ディスクファイルに保存したりします。通常、ネットワークまたはディスクファイルから文字列データを受信するたびに、バイト文字列をデコードします。 特定のエンコーディングを使用して文字列をエンコードするには、次のようにします。 >>>u'æøå'
-
Pythonで特定の文字列のすべての可能な順列を見つける方法は?
特定の文字列のすべての可能な順列を見つけるには、permutations(iterable [、r])と呼ばれる便利なメソッドを持つitertoolsモジュールを使用できます。このメソッドは、反復可能な要素の連続するrの長さの順列をタプルとして返します。 すべての順列を文字列として取得するには、関数呼び出しを繰り返し処理してタプルを結合する必要があります。例: >>>from itertools import permutations >>>print [''.join(p) for p in permutations('
-
Pythonで文字列をバイナリに変換する方法は?
文字列をバイナリに変換するには、各文字を繰り返し処理してバイナリに変換する必要があります。次に、これらの文字を1つの文字列に結合します。 format(ord(x)、b)を使用して、文字xをバイナリとしてフォーマットできます。例: >>>st = "hello world" >>>' '.join(format(ord(x), 'b') for x in st) '11010001100101 1101100 1101100 1101111 100000 1110111 1101111 111001
-
Pythonで小数点以下2桁の浮動小数点数を表示するにはどうすればよいですか?
Pythonでは、文字列フォーマットを使用して浮動小数点数を固定幅にフォーマットできます。たとえば、小数点を12文字の幅と小数点の右側の2桁に揃える場合は、次を使用できます。 >>>x = 12.35874 >>>print "{:12.2f}".format(x) 12.36 文字列の補間とフォーマットを使用して、この結果を達成することもできます。例: >>>x = 12.35874 >>>print "% 12.2f" %
-
Pythonを使用して文字列から文字を削除するにはどうすればよいですか?
文字列から特定のインデックスの文字を削除する場合は、文字列スライスを使用して、その文字を含まない文字列を作成できます。たとえば、 >>> s = "Hello World" >>> s[:4] + s[5:] "Hell World" ただし、文字または文字のリストのすべての出現を削除する場合は、次の方法を使用できます。 文字列クラスには、文字列内のサブ文字列を置き換えるために使用できるメソッドreplaceがあります。このメソッドを使用して、削除する文字を空の文字列に置き換えることができます。例: >>
-
Pythonの文字列がASCIIであるかどうかを確認するにはどうすればよいですか?
最も簡単な方法は、文字列の文字をループして、各文字がASCIIであるかどうかを確認することです。 例 def is_ascii(s): return all(ord(c) < 128 for c in s) print is_ascii('ӓmsterdӒm') 出力 これにより出力が得られます: False しかし、この方法は非常に非効率的です。より良い方法は、str.decode(ascii)を使用して文字列をデコードし、例外をチェックすることです。 例 mystring = 'ӓmsterdӓm' try:  
-
Pythonで文字列から数字以外の文字を削除するにはどうすればよいですか?
これを実現するには、さまざまな方法があります。 for ... ifステートメントを使用して、数字以外の文字を除外できます。例: >>> s = "H3ll0 P30P13" >>> ''.join(i for i in s if i.isdigit()) '303013' filterとlambda関数を使用して、文字をフィルターで除外することもできます。例: >>> s = "H3ll0 P30P13" >>> filter(lambda x:
-
Pythonで変数の型が文字列であるかどうかを確認するにはどうすればよいですか?
isinstance(var、class)を使用して、varが指定されたクラスのインスタンスであるかどうかを確認できます。 Python 2.xでは、strとunicodeの基本クラスはbasestringです。したがって、次のように使用できます。 >>> s = 'A string' >>> isinstance(s, basestring) True >>> isinstance(s, str) True >>> isinstance(10, basestring) False 注:Python
-
Pythonで文字列内から部分文字列を抽出するにはどうすればよいですか?
正規表現でグループキャプチャを使用して、文字列内から部分文字列を抽出できます。抽出する部分文字列の形式と周囲を知る必要があります。たとえば、ある行があり、その行から$ xxx、xxx.xxの形式でお金の情報を抽出したい場合は、次を使用できます。 import re text = 'The phone is priced at $15,745.95 and has a camera.' m = re.search('(\$[0-9\,]*.[0-9]{2})', text) if m: print m.group(1) これにより、出
-
Pythonで文字列を連結するための好ましい方法は何ですか?
文字列変数に文字列を追加する最良の方法は、+または+=を使用することです。これは、読みやすく高速だからです。彼らはまた同じくらい速いです。これ以外に、2つの文字列を使用している場合は、append()も使用できます。 文字列のリストを連結する場合は、join()を使用することをお勧めします。これは、lis tof文字列を受け入れて連結し、この場合に最も読みやすいためです。 パフォーマンスを求めている場合、非常に長い文字列を使用していると、追加/結合がわずかに高速になります。ただし、非常に長い文字列を使用している場合は、何か問題があります。
-
Pythonで文字列からすべての特殊文字、句読点、スペースを削除するにはどうすればよいですか?
文字列からすべての特殊文字、句読点、スペースを削除するには、文字列を繰り返し処理し、英数字以外のすべての文字を除外します。例: >>> string = "Hello $#! People Whitespace 7331" >>> ''.join(e for e in string if e.isalnum()) 'HelloPeopleWhitespace7331' 正規表現を使用して、英数字以外の文字を削除することもできます。 re.sub(regex、string_to_replace
-
Pythonで文字列内の最長の反復配列を見つける方法は?
defaultdictを使用して、入力文字列の各位置から始まる各サブ文字列を集計できます。 getsubsメソッドは、呼び出されるたびに小さいサブ文字列を生成するジェネレータメソッドです。 例 from collections import defaultdict def getsubs(loc, s): substr = s[loc:] i = -1 while(substr): yield substr &nb
-
文字列をPythonでfloatに変換できるかどうかを確認するにはどうすればよいですか?
文字列を解析してfloatするには、次を使用できます。 try: print float('112.15') except ValueError: print 'Cannot parse' これにより、出力が得られます: 112.15 文字列を解析できない場合は、値エラーがスローされます。 指定した文字列のブール値を返すラッパーメソッドを作成できます。たとえば、 def isfloat(value): try: float(value) &nbs
-
Pythonで3つ以上の文字列から最長の共通部分文字列を見つける方法は?
最長共通部分文字列アルゴリズムの一般的な動的計画法の実装は、O(nm)時間で実行されます。以下は、最も長い一般的な部分文字列アルゴリズムの実装です。 例 def longest_common_substring(s1, s2): m = [[0] * (1 + len(s2)) for i in xrange(1 + len(s1))] longest, x_longest = 0, 0 for x in xrange(1, 1 + len(s1)): for y
-
Pythonで文字列をスキャンして特定の文字を探す方法は?
特定の文字が文字列に存在するかどうかを確認する場合は、で使用できます。たとえば、 >>> s = "Hello world" >>> 'e' in s True 検索したい文字のリストがある場合は、セットを使用できます。これらの文字をセットに追加し、any関数を使用して、これらの文字のいずれかが文字列に存在するかどうかを確認します。たとえば、 from sets import Set chars = Set('0123456789$,') s = "I have 9 cats" if
-
Pythonで文字列から日付を抽出する方法は?
文字列を抽出するには、文字列に含めることができる日付の形式を知っている必要があります。正規表現を使用して日付を抽出し、「datetime.datetime.strptime」を使用して日付を解析するだけです。たとえば、YYYY-MM-DDの形式の文字列に日付がある場合は、次のコードを使用してこの日付を抽出および解析できます。 例 import re, datetime s = "I have a meeting on 2018-12-10 in New York" match = re.search('\d{4}-\d{2}-\d{2}', s) date
-
Pythonで文字列から整数値を取得するにはどうすればよいですか?
正規表現を使用して、配列内で出現する順にすべての整数値を取得できます。次のコードを使用して、これらの値を取得できます- 例 import re s = "12 hello 52 19 some random 15 number" # Extract numbers and cast them to int list_of_nums = map(int, re.findall('\d+', s)) print list_of_numsにキャストします 出力 [12, 52, 19, 15] すべての数値を1つの数値に連結して出力する場合は、str.isd