【发布时间】:2016-02-16 13:38:20
【问题描述】:
我有一些代码可以从列表中返回值。我正在使用强类型遗传编程(使用优秀的 DEAP 模块),但我意识到1 和0 与True 和False 相同。这意味着如果一个函数需要一个整数,它可能会以一个布尔函数结束,这会导致一些问题。
例如:
list = [1,2,3,4,5]
list[1] 返回2
list[True] 也返回 2
有没有 Pythonic 的方法来防止这种情况发生?
【问题讨论】:
-
你想为
data[True]返回什么(顺便说一下,不要命名变量list。Python取了所有好名字,所以把my放在你的变量前面) ? -
为什么要使用布尔值作为列表索引?
-
或者只是使用
isinstance(index, int)检查索引变量的类型,然后继续。 -
可以添加条件来检查索引的类型:
if type(index) is int:orif type(index) is bool:
标签: python list indexing boolean deap