2 条题解
-
0
NUMPY027 题解:合法的向量运算
题目
以下表达式哪些是合法的?
Z**Z 2 << Z >> 2 Z <- Z 1j*Z Z/1/1 ZZ解题思路
逐个分析每个表达式的合法性。
代码
import numpy as np Z = np.array([1, 2, 3]) # 示例数组 print(Z**Z) # [1, 4, 27] - 合法 print(2 << Z >> 2) # [1, 2, 4] - 合法(位运算) print(Z <- Z) # [False, False, False] - 合法(比较运算) print(1j*Z) # [1j, 2j, 3j] - 合法(复数乘法) print(Z/1/1) # [1., 2., 3.] - 合法(除法) # print(ZZ) # 不合法!语法错误详解
1.
Z**Z—— 合法- 指数运算
- 结果:
[1^1, 2^2, 3^3] = [1, 4, 27]
2.
2 << Z >> 2—— 合法- 位运算:左移后右移
2 << 1 >> 2 = 4 >> 2 = 12 << 2 >> 2 = 8 >> 2 = 22 << 3 >> 2 = 16 >> 2 = 4
3.
Z <- Z—— 合法<-是"小于等于"的比较运算符- 结果是布尔数组
4.
1j*Z—— 合法1j是 Python 的复数单位- 结果是复数数组
5.
Z/1/1—— 合法- 连续除法
6.
ZZ—— 不合法- 语法错误,需要运算符连接
核心知识点
- NumPy 支持多种运算符
- 位运算:
<<,>>,&,|,^ - 比较运算返回布尔数组
- 1
信息
- ID
- 74
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 上传者