Pythonの初心者は、同等性のテストで問題が発生しました。私はリスト、状態[]のリストを持っています。各状態には、x = 3のブール値が含まれています。私のプログラムでは、最初の3つが状態[i]に対応するブール値のリストを生成します。私はそれをテストするために修正したコードをいくつか紹介します:リストは同じですが、等しくはありませんか?
temp1 = []
for boolean in aggregate:
temp1.append(boolean)
if len(temp1) == len(propositions):
break
print temp1
print states[0]
if temp1 == states[0]:
print 'True'
else:
print 'False'
この場合
、propisitonsの長さは、私はこのコードから取得3.出力されます。
[True, True, True]
(True, True, True)
False
私は、これは括弧の違いに関係している推測しているという事実とは何か?その状態[0]はリスト内のリストですか?いいえ。
'states [0]'はタプルであり、リストではありません。ブレース/括弧は、Pythonでは非常に重要です。 –
ええ、私は今それを参照してください。私は、組み込みの関数を使用して状態を生成し、その関数がリストではなくタプルを作成したことを知らなかった。私はタプルを知らなかった。ありがとう、それを念頭に置くでしょう。 – Bergy24