I have come across this piece of code:
counts = 128 * [0]
# some other steps here that modify the variable counts...
# in the end we have something like counts=[12, 583, 0, etc. , etc., 384]
for i in range(len(counts)):
if counts[i]:
outfile.write("%-12s%d\n" % (display(i), counts[i]))
Regarding the if statement, I understand that it is introduced so that it skips the instruction when counts[i]==0. That's because 0 is equivalent to False. But on the other side, I thought that any other integer (apart from 1) was not equivalent to True. In fact, if I type 3 == True on the shell, I get False as an answer. So, is there any particular reason why if <some integer> is equivalent to if True?
Aucun commentaire:
Enregistrer un commentaire