回文数的两种读法相同。由两个两位数的乘积组成的最大回文数是 9009 = 91 x 99。让我们试着找出由两个三位数的乘积组成的最大的回文数。
这需要两个步骤,让我们来看看是怎么做的。
我们将使用最喜欢的名为 ( arange )的 NumPy 方法创建一个数组,用于存放从 100 到 999 的三位数。
首先 我们将创建一个三位数数组。
使用 ( assert_equal ) 方法检查数组的第一个和最后一个元素,该方法可以在 ( numpy.testing ) 模块下找到,如下所示:

第二步 创建乘积数组。现在,我们将创建一个数组来保存三位数数组中所有可能的乘积。
我们可以使用 ( outer ) 方法来实现这一目的。生成的数组需要用 ( ravel ) 方法进行扁平化处理,以便于对其进行遍历。在数组上调用 ( sort ) 方法,以确保数组正确排序。
之后,我们可以做一些正确性检查:

你现在需要知道发生了什么?
我们看到了 ( outer ) 方法的运行。该方法返回两个数组(http://en.wikipedia.org/wiki/Outer_product)的外积。两个向量(一维数字列表)的外积会产生一个矩阵。
这与内积相反,内积返回两个向量的标量数。外积用于物理学、信号处理和统计学。
( sort ) 方法返回数组的排序副本。