1.内包表記
では、Pythonの**内包表記(リスト内包表記中心)を鍛える「10本ノック」**を用意します。 徐々に難しくなる構成にしていますので、順番に解くのがおすすめです。
⸻
🥊 内包表記 10本ノック
① 基本:1〜10の2乗
1〜10までの整数の2乗のリストを内包表記で作ってください。
⸻
② 条件付き:偶数だけ
1〜20の中から偶数だけを取り出したリストを作ってください。
⸻
③ 条件付き(if-else)
1〜10の整数について、
- 偶数なら "even"
- 奇数なら "odd" とするリストを作ってください。
⸻
④ 文字列操作
文字列 "python" の各文字を大文字に変換したリストを作ってください。
⸻
⑤ フィルタ + 変換
リスト [1, 2, 3, 4, 5] の中から 3以上の数だけを2倍にしたリストを作ってください。
⸻
⑥ 二重ループ
[1, 2, 3] と [10, 20, 30] を使って、 すべての組み合わせの積のリストを作ってください。
(例:1×10, 1×20, …)
⸻
⑦ 平坦化(flatten)
次のリストを1次元に平坦化してください:
[[1, 2], [3, 4], [5, 6]]
⸻
⑧ 辞書からリスト生成
次の辞書から、 キーと値を "key:value" 形式の文字列リストにしてください。
d = {"a": 1, "b": 2, "c": 3}
⸻
⑨ 条件付き(複雑)
1〜50の中で、 3の倍数かつ5の倍数ではない数のリストを作ってください。
⸻
⑩ ネスト+条件
次のような2次元リストから、 偶数だけを取り出して1次元リストにする内包表記を書いてください。
data = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]
⸻
✍️ 追加チャレンジ(余裕があれば)
⑪ セット内包表記
重複を除いた文字の集合を作る:
"banana"
⸻
⑫ 辞書内包表記
1〜5の整数をキーにして、値をその2乗にした辞書を作ってください。
⸻
💡 必要なら
- 解答
- 解説(なぜその書き方になるか)
- さらに難しい問題(業務レベル)
も用意できます。
まずはどこまで解けるか試してみてください。