[解決済み] Pythonでmapを使ったリスト処理中にアイテムのインデックスを取得する
2023-04-27 12:09:25
質問
map()を使ってリストを処理する際、ラムダ内でアイテムのインデックスにアクセスしたい。どのようにそれを行うことができますか?
例えば
ranked_users = ['jon','bob','jane','alice','chris']
user_details = map(lambda x: {'name':x, 'rank':?}, ranked_users)
上記の例で、各ユーザーのランクを取得するにはどうすればよいですか?
どのように解決するのですか?
使用方法 を列挙する :
In [3]: user_details = [{'name':x, 'rank':i} for i,x in enumerate(ranked_users)]
In [4]: user_details
Out[4]:
[{'name': 'jon', 'rank': 0},
{'name': 'bob', 'rank': 1},
{'name': 'jane', 'rank': 2},
{'name': 'alice', 'rank': 3},
{'name': 'chris', 'rank': 4}]
PS. 私の最初の回答は
user_details = map(lambda (i,x): {'name':x, 'rank':i}, enumerate(ranked_users))
の上にリスト内包やジェネレータ式を使うことを強くお勧めします。
map
と
lambda
を使うことができます。リスト内包はより可読性が高く、起動も速い傾向があります。
関連
-
[解決済み] リスト内のアイテムのインデックスを検索する
-
[解決済み] リストからランダムに項目を選択するにはどうすればよいですか?
-
[解決済み] インデックスを指定してリストから要素を削除する方法
-
[解決済み] リスト項目の出現回数を数えるにはどうしたらいいですか?
-
[解決済み] リストに値が存在するかどうかを確認する最速の方法
-
[解決済み] リストから最初の項目を削除するには?
-
[解決済み] リスト理解 vs マップ
-
[解決済み] リストに対して max()/min() を使用して、返された最大または最小の項目のインデックスを取得する
-
[解決済み] Python 3.xでリストを返すmap()を取得する
-
[解決済み] tensorflowのCPUのみのインストールでダイナミックライブラリ 'cudart64_101.dll' を読み込めなかった
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] リスト理解 vs マップ
-
[解決済み] PythonでファイルのMD5チェックサムを計算するには?重複
-
[解決済み] googletransがエラー 'NoneType' オブジェクトに 'group' 属性がない、と言って動かなくなった。
-
[解決済み] dict を txt ファイルに書き、それを読み取る?
-
[解決済み] 文字列のリストを内容に基づいてフィルタリングする
-
[解決済み] Celeryタスクのユニットテストはどのように行うのですか?
-
[解決済み] Pandasを使って、既存のExcelファイルに新しいシートを保存する方法は?
-
[解決済み] if 節の終了方法
-
[解決済み] Pythonでファイルの読み込みと上書きをする
-
[解決済み] Pythonの文字列書式をリストで使う