第一个和第二个print为什么会打印出True和0呢?
不是应该打印出1和0吗
is 一般是地址判断,最好改成==
打印true是因为当el = true的时候,才会进入for循环,1不会,因为1是int型。
True是相当于1的,所以print 这个index的时候,虽然写的是el(值是True),但是写进去之后的效果就是lst.index(1)
因为1的索引是0,所以print 0
# list.index方法只返回第一个匹配value的序号
>>> int(True)
1
>>> int(False)
0
# bool类型其实是int类型的一个子类 bool类型还可以做运算
>>> True + False + 1 * True
2