【学問のすすめ】中世ヨーロッパ写字生のように黙って静かに手を動かすブログ【学問のすすめ】中世ヨーロッパ写字生のように黙って静かに手を動かすブログこれまで習ったことや学んだことを記事にまとめています。ソースコードありPython3で受け取ったリスト内の隣り合った数が同じだった場合、その片方を削除したリストを生成するコードを書いてみました。ここになにがしかのコードを入力する」をどうするかを考えます。今回作成するコードの要件は下記の通りです。入力される値は下記の通りです。入力1:[1,2,2,3]入力2:[2,2,3,3,3]))入力3:[]出力を予定している値は下記の通りです。]コード書いてみた正解のコード正解のコードは下記です。print(remove_adjacent([]))下記URLのGitHubリポジトリにも同じコードを掲載しています。https://github.com/a1852rw/aiit_001_system_programing/blob/master/lesson_003/006_remove_adjacent.pyリポジトリ名:aiit_001_system_programingファイル名:006_remove_adjacent.py保存先ディレクトリ:aiit_system_programing/lesson_003解説コードの内容を説明します。-*-shebang(シバン)と文字コードの指定です。このコードがPython3で動作すること、文字の出力はUTF-8で行われることを示しています。remove_adjacent(li):最初の行で関数「remove_adjacent」に仮引数「li」を設定しています。リストの中になにがしかの数値が入力されている場合)はそれ以下の行にある処理に進みます。リストに何も入力されていない場合)は入力された文字列をそのまま返却します。n1.append(li[0])変数「n1」に中身が空のリストを挿入する。これにより変数「n1」をリストとして扱うことができるようになります。リストの最初に格納されている要素)を変数「n1」のリストに追加します。これを記述しないと変数にリストの要素を追加できない、リストの最初の要素が削除された値が出力される、などの問題が発生します。番目と一致しない場合にリスト「li」のi番目の要素をリスト「n1」に追加します。これをfor文で繰り返すことにより隣り合う要素と一致しない要素だけがリストに追加され、結果として「要件2」を満たすリストが作成されます。あとがきこれは難しかったです。「要件2」で「隣接した要素が一致した場合に片方を削除して」とされていたところで迷いました。結局ネット上で見つけたコードを参考に正解を導くことになりました。結論:10分考えてわからなければ正解を探した方がいい知らないことを考えても答えは見つかりませんでした(結構な時間かけましたが本当にわかりませんでした)。調べるなり誰かに教えてもらうなりして正解を眺めながら正解の理由を考えたほうがはるかに効率的です。読者になるこのブログについて広告エリア広告エリア広告エリア広告エリア参加グループセキュリティアクセスの輪エンジニアグループ文系エンジニアのキャッチアップ系ブログ引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。