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]是列表中的列表这一事实有什么关系?欢呼声。
答案 0 :(得分:9)
您正在将元组 (True, True, True)
与列表进行比较 [True, True, True]
当然他们是不同的。
尝试随时随地将list
投射至tuple
进行比较:
temp1 = []
for boolean in aggregate:
temp1.append(boolean)
if len(temp1) == len(propositions):
break
print temp1
print states[0]
if tuple(temp1) == states[0]:
print 'True'
else:
print 'False'
或随时随地将tuple
投放到list
进行比较:
temp1 = []
for boolean in aggregate:
temp1.append(boolean)
if len(temp1) == len(propositions):
break
print temp1
print states[0]
if temp1 == list(states[0]):
print 'True'
else:
print 'False'
<强>输出:强>
[True, True, True]
(True, True, True)
True