Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ チャレンジ:再帰的ファイル検索 | 再帰とラムダ関数
Python関数チュートリアル
セクション 5.  2
single

single

bookチャレンジ:再帰的ファイル検索

メニューを表示するにはスワイプしてください

ネストされた辞書の操作

辞書は他の辞書を格納でき、ファイルシステムのような階層データの表現に便利。

  • キーはファイル名またはフォルダ名
  • "file" はその項目がファイルであることを示す
  • ネストされた辞書はその項目がフォルダであることを示す

items() を使ってキーと値のペアを反復処理。

1234567
file_system = { "home": {"resume.pdf": "file", "notes.txt": "file"}, "etc": {"config.yaml": "file"} } for name, content in file_system.items(): print(name, "->", content)
copy

値がフォルダを表すかどうかを確認するには、isinstance(content, dict) を使用:

12345678910
file_system = { "home": {"resume.pdf": "file"}, "config.yaml": "file" } for name, content in file_system.items(): if isinstance(content, dict): print(name, "is a folder") else: print(name, "is a file")
copy
タスク

スワイプしてコーディングを開始

ネストされた辞書内で特定のファイルが存在するかを確認するには、再帰的な file_exists 関数を実装します。

  1. items() を使って辞書をループ処理します。
  2. content"file" であり、nametarget と一致する場合は True を返します。
  3. content がフォルダ(isinstance(content, dict) で判定)であれば、file_exists を再帰的に呼び出します。
  4. 再帰呼び出しが True を返した場合は、そのまま True を返します。
  5. すべての階層を確認しても一致しない場合は False を返します。

解答

Switch to desktop実践的な練習のためにデスクトップに切り替える下記のオプションのいずれかを利用して、現在の場所から続行する
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 5.  2
single

single

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

some-alt