2016-10-16 10 views
1

私はPythonの初心者ですので、これは簡単かもしれませんが、次のコードの意味についてはわかりません。そこリストqはそれを実行中に少なくとも1つの要素があり、それが空のときqが偽になったときに、これはwhileループをリスト名で使用する

q=[start] 
    while q: 

を意味するのでしょうか? 編集:私は現時点でそれを実行することはできません。私はすぐにそれを見つける必要があります。

+2

'q = [start]'は 'q 'というリストを作り、変数' start'を最初の要素に入れます。 'while q:'は '空になるまで次のインデントされたブロックを繰り返す'ことを意味します(リストは空でないときはブール値 'True'に、空でないときは' False')。あなたはここに表示されているようにインデントされていますか?そうであれば、正しく動作しません。 – Aurora0001

+1

これはちょうどコードの一部です。私の前提は正しかったです。コメントをいただきありがとうございます。あなたは答えとして書くことができます、私はそれを受け入れます。 – Prethia

答えて

2

q = [start]手段は、qという変数を作成し、それに値[start]を割り当てます。この場合、1つの要素(変数startの値)を持つリストが作成されます。 q = [1, 2]と全く同じ構文ですが、定数値の代わりに変数を使用します。

これ以降の行while q:は、Pythonの型変換システムの使用(または悪用)です。 Whileループでは、繰り返す必要があるかどうかを判断するためにブール条件が必要なため、コードはwhile bool(q):と等価です。これがどのように機能するかを理解するために、可能なケースを調べてみましょう:「qが空である一方、」

bool([1]) == True # This applies for any non-empty list 
bool([]) == False # This applies to any empty list 

したがって、while q:の意味は実際にあります。

関連する問題