numpy.left_shift() 函数是 NumPy 库中用于对数组中的整数元素执行按位左移操作的函数,它提供了灵活的参数来控制输入、移位位数、输出位置和条件。在处理需要位操作的场景中非常有用。numpy.left_shift() 只能用于整数类型的数组。如果尝试对浮点数或其他类型的数组使用,将会引发 TypeError。本文主要介绍一下NumPy中left_shift方法的使用。

numpy.left_shift

numpy.left_shift(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) = <ufunc 'left_shift'>

将整数的位向左移动。

通过在x1的右边附加x2 0,将位向左移动。 由于数字的内部表示形式为二进制格式,因此此操作等效于将x1乘以2 ** x2

参数 :

x1 :integer类型的array_like

输入值。

x2 :integer类型的array_like

要附加到x1的零数。 必须为非负数。

 如果x1.shape!= x2.shape

则必须将它们广播为通用形状(即输出的形状)。

out :ndarray, None, 或 ndarray的tuple 和 None, 可选

结果存储的位置。 如果提供,

它必须具有输入传递到的shape。 

如果未提供或没有,则返回一个新分配的数组。

 元组(只能作为关键字参数)的长度必须等于输出的数量。

where :array_like, 可选

此条件通过输入广播。 在条件为True的位置,

将out数组设置为ufunc结果。 在其他地方,

out数组将保留其原始值。

 请注意,如果通过默认的out = None创建了未初始化的输出数组,

则条件为False的数组中的位置将保持未初始化状态。

**kwargs

有关其他仅关键字的参数,请参见ufunc文档。

返回值 :

out :integer类型的array

返回x1,其位向左移动x2次。 

如果x1和x2均为标量,则为标量。

例子

1)基本用法

import numpy as np

x = np.array([1, 2, 3, 4])
y = np.left_shift(x, 2)

print(y)

2)两个数组作为输入

import numpy as np

x = np.array([1, 2, 3])
shift = np.array([0, 1, 2])
y = np.left_shift(x, shift)

print(y)

3)与原生 Python 表现一致

import numpy as np

print(np.left_shift(5, 1))  # 10
print(5 << 1)               # 10

推荐文档

相关文档

大家感兴趣的内容

随机列表