[リニューアル] Python入門とクローリング基礎ブートキャンプ [Python、Web、データ理解の基本まで] (アップデート)
データサイエンス、ビッグデータ、クローリングを学びたい方のために、 (1) 短時間で最も必要なPythonの核心文法を整理し、(2) 実践クローリングプログラミングを通じてPythonとクローリングに慣れていきます。

[共有]開発者として能力を育てるためのヒントを共有する
こんにちは。残材ミコーディング Dave Lee インストラクターです。
今日はおもしろいケースとともに、開発者で能力を育てることができるヒントを共有すればいいと思いますので、共有しましょう。
次のようなお問い合わせがありました。面白いながらも、このような場合は実際の開発者ならどう解決していくかを考えてみることができるお問い合わせのようです。
-------------------
Exercise 38. データ構造と反復文(リスト)
次のリスト変数から負のデータを削除し、正数のみのリスト変数にし、その変数を出力します。
num_list = [0、-11、31、22、-11、33、-44、-55]
コード:
num_list = [0、-11、31、22、-11、33、-44、-55]
for i in num_list:
if i < 0:
num_list.remove(i)
print(num_list)
実行結果:[0、31、22、33、-55]
私は38回問題を解決するために上記のコードのように書いていますが、-55がなぜ残っているのか理解していないので質問します!
-------------------
この問題に答えを見つけるために、私は
1. 上記のコードを先に実行してみて、奇妙な部分を理解し、
2. コードを次のように各ステップごとにどの部分が異常があるかを変数値をすべて line by line で出力してみました。
最初! - まあ問題ない
num_list = [0、-11、31、22、-11、33、-44、-55]
print(num_list)
第二! - まあ問題ない
num_list = [0、-11、31、22、-11、33、-44、-55]
print(num_list)
for index, item in enumerate(num_list):
print(index, num_list, item)
第三! -ああ、ここで問題があるかもしれません〜
num_list = [0、-11、31、22、-11、33、-44、-55]
print(num_list)
for index, item in enumerate(num_list):
print(index, num_list, item)
if item < 0:
num_list.remove(item)
3番目の各行の出力結果を見て、num_listリスト値が動的に繰り返し文内で変更になり、
最後の反復文が実行時に num_list の長さは 5 で、反復文の回数は 0~4 まで、つまり 5 回となり、
num_listの最後の値である-55が繰り返されず、そのまま反復文が終了したことに気付くようになりました。
私が共有したいと思うヒントは、
このように開発者の方々は常に意外な状況を迎えることになります。
私のような場合は、3つのヒントを使用して問題を解決します。どうせ毎回私だけの問題を解決してくれる人はいませんからね。
1.コードが私が望むように動作しないときは、可能な範囲を絞り、最も確実な部分または一番上の部分から
疑わしい部分をすべて出力してみる。それでも理解できない場合は、 line by line で使用された変数の値をすべて
出力する。
これにより、変数がどのように値が変更されるかを理解しながら、コードがこのように実行された理由を理解できます。
2.これでなければ、Googleにいろいろな検索語を置いて、検索をするということです。
とにかく人は同じで、私だけこのような問題を持っている場合は非常にまれです。他の人も同様の問題を経験し、
開発者の方々はそれでもこれらの部分を共有する方です。
3.それでもダメなら、Googleに私の問題を英語で検索語を作って検索をするということです。
国内の開発者でなければ、明らかに外国の開発者が同様の問題を経験する可能性があります。
この3つを毎回イシューに会うたびになると、熟練し、自分だけのノウハウもできて、ますます早く
問題を解決し、より多くの技術を理解することができます。
こんなヒントもぜひ役に立てば幸いです。
ありがとうございます。
5月には新しい講義でお会いしましょう。頑張って準備中です。
#講義リスト




