I want the loop to break if True occurs. For some reason, the break statement get things twisted.
a = [[1,2,3], [4,5,6], [7,8,9], [1,4,7], [2,5,8], [3,6,9], [1,5,9], [7,5,3]]
b = [[9], [9, 7], [9, 7, 8], [9, 7, 8, 2]]
countdata = []
for x in range(len(b)):
for y in range(len(a)):
if all(elem in b[x] for elem in a[y]) == True:
break
countdata.append(all(elem in b[x] for elem in a[y]))
print(len(countdata))
Output:
>>>20
The output should be 18. Proof:
countdata = []
for x in range(len(b)):
for y in range(len(a)):
tt = all(elem in b[x] for elem in a[y] )
countdata.append(tt)
nylista = []
for z in countdata:
if z == True:
break
nylista.append(z)
print(len(nylista))
>>>18
Is it a bug?