python中x_在Python中x [x <2] = 0是什么意思?

这只对

NumPy数组有意义。列表的行为是无用的,并且特定于Python 2(而不是Python 3)。您可能需要仔细检查原始对象是否确实是NumPy数组(请参见下文),而不是列表。

但在你的代码中,x是一个简单的列表。

以来

x < 2

是假的

即0

x [x <2]是x [0] x [0]被改变。 相反,x [x> 2]是x [True]或x [1] 所以,x [1]被改变。 为什么会发生这种情况? 比较的规则是:

>当您订购两个字符串或两个数字类型时,排序是以预期的方式完成的(字符串的字典排序,整数的数字排序)。

>当您订购数字和非数字类型时,数字类型将优先。

>当您订购两个不兼容的类型,而且都不是数字时,它们按字符串的字母顺序排序:

所以,我们有以下顺序

如果x是NumPy数组,那么语法更有意义,因为布尔数组索引。在这种情况下, 2不是一个布尔值;它是一个布尔数组,表示x的每个元素是否小于2. x [x < 2] = 0,然后选择小于2的x的元素,并将这些单元格设置为0.见Indexing。

>>> x = np.array([1., -1., -2., 3])

>>> x < 0

array([False, True, True, False], dtype=bool)

>>> x[x < 0] += 20 # All elements < 0 get increased by 20

>>> x

array([ 1., 19., 18., 3.]) # Only elements < 0 are affected

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值