像numpy.intersect1d这样的函数返回不同的类型(在本例中是一个 ndarray 或三个 ndarray 的元组),但编译器只能推断其中之一,所以如果我想这样做:
intersection: np.ndarray = np.intersect1d([1, 2, 3], [5, 6, 2])
Run Code Online (Sandbox Code Playgroud)
它会抛出类型警告:
Expected type 'ndarray', got 'Tuple[ndarray, ndarray, ndarray]' instead
Run Code Online (Sandbox Code Playgroud)
我可以在其他语言(例如 Typescript)中避免此类问题,在其中我可以使用as关键字来断言类型(不会影响运行时)。我已阅读文档并看到了强制转换函数,但我想知道是否有任何内联解决方案或我缺少的东西。