擅长:python、mysql、java
<p>很难从你发布的小代码中分辨出你的问题到底在哪里,或者为了让它正常工作应该修改什么,但是根据你的问题标题和你提供的信息(你正在解数独),我可以说下面的内容将对你有所帮助。你知道吗</p>
<p>为了比较一个列表中的项目是否在另一个列表中,我们必须确定范围。你知道吗</p>
<p>假设我们有两个列表,A和B</p>
<pre><code>A == B
# lists are in the same order with the same items.
all(a in B for a in A)
# all items in A are in B. (order not checked)
all(b in A for b in B)
# all items in B are in A. (order not checked)
all(A[i] == B[i] for i in range(len(A)))
# all items in A are in B. (order checked) (len(A) <= len(B))
all(B[i] == A[i] for i in range(len(B)))
# all items in B are in A. (order checked) (len(B) <= len(A))
</code></pre>
<hr/>
<p>这是一个生成器,您可以在长度相等的列表上使用它来检查哪些索引是真/假的</p>
<pre><code>def gen_diff(A, B):
if len(A) != len(B):
raise IndexError('lists not of same length')
for i in range(len(A)):
if A[i] == B[i]:
yield (True, i)
else:
yield (False, i)
</code></pre>