【发布时间】:2015-08-30 19:50:33
【问题描述】:
我刚开始使用 Python。
如果列表在1 之前包含布尔值True 对象,如何从列表中获取整数1 的索引?
>>> lst = [True, False, 1, 3]
>>> lst.index(1)
0
>>> lst.index(True)
0
>>> lst.index(0)
1
我认为 Python 在index 方法的参数中将0 视为False 和1 视为True。如何获取整数1(即2)的索引?
在列表中以这种方式处理布尔对象背后的推理或逻辑是什么? 从解决方案来看,我可以看到它并不是那么简单。
【问题讨论】:
-
从“这就是我想做的事……”来解决这个问题比“这是我不想做的事……”更好。例如您想要在列表中搜索某事物,但想要跳过与您正在搜索的事物比较相等的事物,您想要做什么具体?最可能的现实情况是,您确实希望
list.index(1)尽管您感到惊讶但返回0,或者您真的不应该将自己置于需要进行此搜索的情况。 -
我不是 python 开发人员,但是将整数和布尔值一起存储在同一个列表中是不是有点奇怪?我认为它是将汽车和水果放在一起......