mocchaso note

サーバーエンジニアが何か色々呟いているところ。

Python100本ノック 26本目~30本目

Python100本ノック、26本目から30本目についてです。

qiita.com

26本目:リスト問題


問題無く解けました。
文字列オブジェクトに用意されているメソッドcapitalize()upper()
リストのスライスがポイントですね。


27本目:辞書問題


問題無く解けました。
~この設問の4番の解法の違い~
自分の解法:set(e2f)を使用
記事内の解法:メソッドe2f.keys()を使用
どちらでも同じ結果は得られますが、keys()の方が可読性が高そうな気がします。

28本目:多重レベルの辞書問題


問題無く解けました。


29本目:リスト内包表記を使って、range(10)の偶数リストを作れ


リスト内包表記の独特な記法で少し時間がかかりましたが、独力で解けました。

~リスト内包表記でfor文if文を組み合わせる時の書き方~
[(for文のループ変数を使った式) for (ループ変数) in ... (if文)]


30本目:辞書内包表記を使って、squaresという辞書を作れ


リスト内包表記の問題よりも苦戦し、記事を見て理解しました。

~辞書内包表記の書き方~
{(キーの変数): (左記の変数を用いた式)}
右側の式の部分にfor文if文を組み合わせることができる。




授業のおかげでリストや辞書には馴染みがありましたが、setや内包表記など初めて触れる箇所では少々時間がかかりました。
どうやら内包表記は実行速度が速いようです。コーディングの改善に繋がりますね!