“and”(逻辑)与“&”(按位):处理列表和 Numpy 数组的变化
使用布尔运算时,理解“and”和“&”之间的区别至关重要。 'and' 评估两个表达式是否都包含逻辑 True 值,而 '&' 确定两个操作数是否都为 True(在逻辑值的上下文中)。
列表的行为
- 在示例 1 中,“and”运算的计算结果为 False,因为第一个列表中至少有一个元素为 False。另一方面,如果两个列表中的任何元素为 True,则结果为 True。因此,['True', 'False', 'False'] 和 ['True', 'True', 'False'] 将返回 True。
- '&' 运算符与列表不兼容,因为它们可能包含不同类型的元素,并且不能按位组合。
与 Numpy 的行为数组
-
示例 3: 具有多个元素的数组缺乏明确的真值,导致 ValueError,因为 'and' 无法评估此类数组上的逻辑运算。使用 numpy 的 'any()' 或 'all()' 函数来确定逻辑条件。
-
示例 4: '&' 可以与 numpy 数组一起使用,因为它们支持向量化运算。生成的数组的元素是输入数组中相应元素的按位与。
运算符用法摘要
- 用于逻辑运算非数组数据或非数学计算,使用“and”。
- 组合布尔向量值,使用带有 '&' 的 numpy。
以上是'and' 与 '&':何时对列表和 NumPy 数组使用逻辑 AND 和按位 AND?的详细内容。更多信息请关注PHP中文网其他相关文章!