acemi, eşitlik için bir problemle karşılaştı. Listelerim var, durumlar []; her durum x, bu özel durumda x = 3, Boole değerleri içerir. Programımda, ilk üçü bir [i] durumuna karşılık gelen Boole değerlerinin bir listesini oluşturur. Eşitlik için test edilen eyaletler listesinden geçiyorum (bunlardan biri, tüm olası boole permütasyonları eyalette olduğu gibi doğrudur, ancak eşitlik asla tespit edilmez. Hiçbir ipucu neden, burada test etmek için değiştirdiğim bir koddur:Listeler aynı değil ama eşit kabul edilmiyor? Python'da
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'
Bu durumda
, propisitons uzunluğu bu koddan almak çıkışı 3. geçerli:?
[True, True, True]
(True, True, True)
False
bu parantez içinde farkı ile ilgisi gerçeği ile ilgisi vardır tahmin ediyorum [0] bir liste içinde bir liste nedir? Şerefe:
'durumlar [0]', bir liste değil, bir tupledır. Brace/parens tatları Python'da çok önemlidir. –
Evet, şimdi onu görüyorum. Durumları doldurmak için yerleşik bir işlev kullandım ve bu işlevin, listeler değil, tuplelar oluşturduğunu bilmiyordum; Tupleleri bile bilmiyordum. Teşekkürler, bunu akılda tutacak. – Bergy24