私は最初のデータを取得する方法を見つけようとしています。リンクリストのpythonでヘッドノードを取得する方法
これは、たとえばデータベースのデータです。私が何をしたいか
id name next
001 task1 002
002 task2 003
003 task3 000
は、データベースのように001
あるべきヘッドノードの最初の値を取得することです。
これは私がここに何を期待私のコード
while True:
self.headNode = 000
try:
lastNode = Task.objects.get(next=self.headNode)
self.headNode = lastNode.id
break
except Task.DoesNotExist:
break
で、self.headNodeの値は001
する必要がありますが、それは私に003
を与えました。どうすればそれを手に入れるのを助けてください001
。私はこれを一ヶ月ほど手伝ってきました。
これは他のデータ例です。
id name next
222 task1 444
333 task2 222
444 task3 000
ここでは...ヘッドノードは333
である必要があります。私はちょうどnext
が000
であるデータを得るでしょう。その後、それを取得する444
です。次のデータが444
、id
が222
のデータを取得します。最後にデータを取得するnext
は222
です、あなたはID 333
を取得します。ヘッドノードが333
であることを示します。私はそれをはっきりと説明してくれることを望みます
あなたは 'break'と' continue'を混乱させると思います。 'break'は現在のループを終了します。この場合は' while True'です。ループに1回だけ入力します。 'continue'は現在の反復を止め、次の反復を開始します。 –
@Rightlegああ、私は参照してください。私も 'continue'を試みましたが、無限ループを与えてくれます。 –
break文を追加したので、ループは1回だけ実行されます。また、headNodeの初期値が000であるため、lastNodeにはあなたが作成したクエリが003が含まれているので、next = 000としてフィルタリングします。これはid 003です。それで、003 – aliasav