[解決済み] Pythonで配列の長さを取得するには、arr.__len__()が好ましいですか?
2022-03-19 05:48:28
質問
で パイソン は、次のように要素数を取得する唯一の方法ですか?
arr.__len__()
もしそうなら、なぜ奇妙な構文になるのでしょうか?
どのように解決するのですか?
my_list = [1,2,3,4,5]
len(my_list)
# 5
タプルでも同じように動作します。
my_tuple = (1,2,3,4,5)
len(my_tuple)
# 5
そして、文字列は、実際には単なる文字の配列である。
my_string = 'hello world'
len(my_string)
# 11
それは
意図的にこうしている
リスト、タプル、その他のコンテナ型や反復記号は、すべて明示的にパブリックな
.length()
メソッドをチェックし、代わりに
len()
を実装しているものであれば、何でも構いません。
__len__()
メソッドを使用します。
確かに、これは冗長に見えるかもしれませんが、長さチェックの実装は、同じ言語内でもかなり異なる場合があります。あるコレクションタイプで
.length()
メソッドを使用し、別の型では
.length
プロパティ、さらに別のものは
.count()
. 言語レベルのキーワードを持つことで、これらすべての型のエントリーポイントを統一することができます。つまり、要素のリストとは思えないようなオブジェクトでも、長さのチェックは可能なのです。 これには、文字列、キュー、ツリーなどが含まれます。
の機能的な性質は
len()
は、関数型プログラミングのスタイルにも適しています。
lengths = map(len, list_of_containers)
関連
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] リスト内のアイテムのインデックスを検索する
-
[解決済み] リストの最後の要素を取得する方法
-
[解決済み] Pythonで文字列の部分文字列を取得するにはどうすればよいですか?
-
[解決済み] Java の配列を表示する最も簡単な方法は何ですか?
-
[解決済み] リストの要素数を取得する方法
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】forループを使った辞書の反復処理
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
Pythonの非常に便利な2つのデコレーターを解説
-
Python関数の高度な応用を解説
-
Python カメの描画コマンドとその例
-
python implement mysql add delete check change サンプルコード
-
Python LeNetネットワークの説明とpytorchでの実装
-
Pythonの@decoratorsについてまとめてみました。
-
[解決済み】DataFrameのコンストラクタが正しく呼び出されない!エラー
-
[解決済み】「SyntaxError.Syntax」は何ですか?Missing parentheses in call to 'print'」はPythonでどういう意味ですか?
-
[解決済み] TypeError: 'DataFrame' オブジェクトは呼び出し可能ではない
-
[解決済み】 'numpy.float64' オブジェクトは反復可能ではない