#0. はじめに
今日は思いつかなかったので省略。早速問題を解きましょう!
#1. 問題
太郎くんは、リストli = [1, 2, 3, 4, 5]を逆順にするために次のようなコードを書いた。しかし実行結果は逆順にならず「None」と出力されてしまった。太郎くんに代わってコードを直そう。
太郎くんのコード
li = [1, 2, 3, 4, 5]
li = li.reverse()
print(li)
# -> None
#2. 解答例
li = [1, 2, 3, 4, 5]
li.reverse()
print(li)
#3. 解説
li.reverse()単体にします。li = li.reverse()としてはいけません。これはappend()など割と初期に習うメソッドも同様です (全てのメソッドがこうとは限らない)。reverse()の戻り値はNoneなので太郎くんのように書いてしまうと左辺のliに逆順した結果ではなくreverse()の戻り値が代入されてしまうのだと思います (違っていたらごめんなさい)。
#4. まとめ
・li.reverse()単体でOK。
#5. おまけトーク
毎日YouTubeに動画を投稿する人ってすごいですよね。毎日投稿してネタがつきないなんて。