[解決済み] 任意の長さの文字列からなるnumpyの配列を作成するには?
2023-02-16 10:27:51
質問
私はPythonの完全な初心者ですが、与えられた文字列は(事実上)任意の長さにすることができるようです。
string str
を取り、それに追加し続けることができます。
str += "some stuff..."
. このような文字列の配列を作る方法はあるのでしょうか?
これを試すと、各要素には1文字しか格納されません
strArr = numpy.empty(10, dtype='string')
for i in range(0,10)
strArr[i] = "test"
一方、ある長さの文字列の配列を初期化できることは知っています、つまり
strArr = numpy.empty(10, dtype='s256')
で、最大256文字の文字列を10個格納することができます。
どのように解決するのですか?
の配列を作成することで可能です。
dtype=object
. 通常のnumpyの配列に長い文字列を代入しようとすると、文字列が切り捨てられます。
>>> a = numpy.array(['apples', 'foobar', 'cowboy'])
>>> a[2] = 'bananas'
>>> a
array(['apples', 'foobar', 'banana'],
dtype='|S6')
しかし
dtype=object
を使うと、pythonのオブジェクト参照の配列が得られます。だから、pythonの文字列のすべての動作を持つことができます。
>>> a = numpy.array(['apples', 'foobar', 'cowboy'], dtype=object)
>>> a
array([apples, foobar, cowboy], dtype=object)
>>> a[2] = 'bananas'
>>> a
array([apples, foobar, bananas], dtype=object)
たしかに、オブジェクトの配列なので、オブジェクトに割り当てられる 任意の のようなPythonオブジェクトを配列に割り当てることができます。
>>> a[2] = {1:2, 3:4}
>>> a
array([apples, foobar, {1: 2, 3: 4}], dtype=object)
しかし、これはnumpyを使用する利点の多くを取り消してしまいます。numpyは、生のメモリの大きな連続したブロック上で動作するため、非常に高速です。Pythonオブジェクトで作業すると、多くのオーバーヘッドが追加されます。簡単な例です。
>>> a = numpy.array(['abba' for _ in range(10000)])
>>> b = numpy.array(['abba' for _ in range(10000)], dtype=object)
>>> %timeit a.copy()
100000 loops, best of 3: 2.51 us per loop
>>> %timeit b.copy()
10000 loops, best of 3: 48.4 us per loop
関連
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] オブジェクトが配列であるかどうかを確認するにはどうすればよいですか?[重複]。
-
[解決済み] Javaで配列に特定の値が含まれているかどうかを判断するにはどうすればよいですか?
-
[解決済み] Bashで文字列の配列をループする?
-
[解決済み] 1...N を含む配列の作成方法
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】配列に何かを追加する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 小数点以下1桁を取得する[重複]。
-
[解決済み] タプルのリストを複数のリストに変換するには?
-
[解決済み] Python 2.7サポート終了?
-
[解決済み] Pandasの'Freq'タグにはどのような値が有効ですか?
-
[解決済み] オブジェクトのリストに特定の属性値を持つオブジェクトが含まれているかどうかをチェックする
-
[解決済み] サブフォルダからのインポートモジュール
-
[解決済み] あるオブジェクトが数であるかどうかを確認する、最もパイソン的な方法は何でしょうか?
-
[解決済み] Flask でグローバル変数はスレッドセーフか?リクエスト間でデータを共有するには?
-
[解決済み] Pythonで、ウェブサイトが404か200かを確認するためにurllibをどのように使用しますか?
-
[解決済み] 新しいpip backtrackingの実行時問題の解決