在使用python数组时,可以根据一个相同长度的bool数组来做切片,比如:

但有时候我们想要反转这个索引,取出数组内其他元素该怎么办呢?
当然要把索引列表内的True变成False,False变成True。而python中not只能作用在标量上,而不能作用在数组上。
联想到True对应1,False对应0,那是否可以这么做:

结果是不行:

因为使用1-index后得到的是包含0和1的数组,据此做切片只能得到对应0和1索引处的元素。
真难!!!!orz
噫 这时再回顾一个前面的操作,考虑到True/False和1/0的对应关系,我们把True和False是转换成了1和0,从bool类型的角度,我们实现了True变成False和False变成True的目标,但是从数据类型上看,并没有做到,最终用的0和1表示。
数据类型!!!!
也就是结果只是数据类型不同,那转换下就好了:

网友评论