[解決済み】map関数を理解する
2022-03-26 20:30:55
質問
map(function, iterable, ...)
iterable の各項目に関数を適用し、その結果のリストを返す。追加の反復処理可能な引数が渡された場合、関数はその数の引数を取る必要があり、すべての反復処理可能なアイテムに並行して適用されます。
ある反復記号が他のものより短い場合、それは None の項目で拡張されているものとする。
もし関数が
None
の場合、同一性関数が想定されます。複数の引数がある場合は
map()
は,すべての反復子から対応する項目を含むタプルで構成されるリストを返す(一種の転置操作である)。
反復可能な引数には、シーケンスまたは任意の反復可能なオブジェクトを指定することができ、結果は常にリストです。
デカルト積を作るのに、どのような役割を果たすのでしょうか?
content = map(tuple, array)
タプルをどこかに置くとどんな効果があるのでしょうか?また、map関数がない場合の出力は次のようになります。
abc
で、それを使うと
a, b, c
.
この関数を完全に理解したい。参考定義もわかりにくい。派手な演出が多すぎる。
どのように解決するのですか?
map
は特にパイソン的ではありません。代わりにリスト内包を使うことをお勧めします。
map(f, iterable)
は基本的に同等です。
[f(x) for x in iterable]
map
は、出力リストの長さが常に入力リストと同じであるため、デカルト積を行うことができません。しかし、リスト内包を使えば、簡単にデカルト積を作ることができます。
[(a, b) for a in iterable_a for b in iterable_b]
構文は少しわかりにくいですが、基本的には次のものと同じです。
result = []
for a in iterable_a:
for b in iterable_b:
result.append((a, b))
関連
-
[解決済み】RuntimeWarning: invalid value encountered in double_scalars で numpy の除算ができない。
-
[解決済み】 'numpy.float64' オブジェクトは反復可能ではない
-
[解決済み] 関数デコレータを作成し、それらを連鎖させるには?
-
[解決済み] for'ループでインデックスにアクセスする?
-
[解決済み] スライス表記を理解する
-
[解決済み] リスト内のアイテムのインデックスを検索する
-
[解決済み] 関数内でグローバル変数を使用する
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] オブジェクトのためのマップ関数(配列の代わりに)
-
[解決済み] リスト理解 vs マップ
最新
-
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はWordの読み書きの変更操作を実装している
-
Pythonを使って簡単なzipファイルの解凍パスワードを手作業で解く
-
[解決済み] [Solved] sklearn error ValueError: 入力に NaN、infinity または dtype('float64') に対して大きすぎる値が含まれている。
-
[解決済み】socket.error: [Errno 48] アドレスはすでに使用中です。
-
[解決済み】終了コード -1073741515 (0xC0000135)でプロセス終了)
-
[解決済み】 AttributeError("'str' object has no attribute 'read'")
-
[解決済み】Flask ImportError: Flask という名前のモジュールがない
-
[解決済み】ValueError: pickleプロトコルがサポートされていません。3、python2 pickleはpython3 pickleでダンプしたファイルを読み込むことができない?
-
[解決済み】Flaskのテンプレートが見つからない【重複あり
-
[解決済み】django インポートエラー - core.managementという名前のモジュールがない