python中的三目运算符写法如下:
~~~python
x=var1 if con==True else var2
~~~
即当`con`为真时讲`var1`赋值给`x`,否则将`var2`赋值给`x`。
其中`var1`一定会被赋值给`x`,然后解释器判断条件是否为真再决定是不是要用`var2`的值来覆盖当前`x`的值。**这意味着`var2`(可能是表达式)在`con`为`False`的情况下不会被计算。**
* * * * *
同样的功能我们也可以使用`numpy`的`where`函数完成。使用方法如下:
~~~python
x=numpy.where(con,var1,var2)
~~~
这里要求`con`,`var1`,`var2`是维度完全相同的矩阵,当对应位置的`con`为真时,将`var1`的值赋值给`x`的对应位置,否则将`var2`对应位置的值赋值给`x`。与内置的三目运算符的区别是,**`var1`,`var2`都一定会被计算。**
numpy的实例如下:
~~~python
>>> import numpy as np
>>> con=[[1,0],[0,1]]
>>> var1=[[1,2],[3,4]]
>>> var2=[[5,6],[7,8]]
>>> x=np.where(con,var1,var2)
>>> x
array([[1, 6],
[7, 4]])
~~~
- Linux
- bash常见的命令汇总
- 切换用户登陆到bash时的目录
- grep匹配tab
- gperftools的使用
- Hyper-V安装Linux
- ubuntu on windows 忘记密码怎么办
- 修改用户默认shell
- ubuntu 安装pip
- Arch Linux安装记录
- Hyper-V中安装Linux的一些问题
- ASR
- 数据集
- PCM音频文件
- One-Pass算法
- CHiME5环境配置中遇到的一些问题
- Python
- 命令行参数解析
- 三目运算符
- Numpy
- 练习1
- 练习2
- Others
- GNU make 的用法
- pandoc
- Git
- PowerShell
- 花括号的作用
- 一条命令在多行内输入
- Tex
- Latex基础知识
- tikz库
- CTex使用中的一些问题
- C++
- 标准库list
- 数据结构
- kdtree