tile 函数是 Python 内置的函数之一,用于将指定的序列重复指定的次数,将结果返回为一个新的序列。tile 函数可以用于很多场景,例如生成一组重复的数据作为训练数据、生成重复的图案等。在本文中,我们将详细介绍 tile 函数的用法,帮助大家更好地了该函数。

语法

tile 函数的语法如下:

numpy.tile(arr, reps)

其中,arr 代表输入的数组,reps 代表需要重复的次数或者是用于指定返回的新数组的形状的元组,返回的是重复后的新数组。

参数

tile 函数有两个参数:

  • arr:输入的数组,可以是列表、元组、数组等。
  • reps:需要重复的次数或者是用于指定返回的新数组的形状的元组。

如果 reps 是一个整数,表示重复 arr 整数次。如果 reps 表示的是一个元组,则表示使用该元组中的整数分别重复 arr 中的每个维度。如果 reps 中的维度少于 arr 的维度,则会在 reps 中添加维度 1。

返回值

重复后的新数组。

示例

下面是 tile 函数的一些示例代码,可以帮助大家更好地了解该函数的用法:

示例 1:重复列表

import numpy as npa = [1, 2, 3]b = np.tile(a, 3)print(b)# 输出结果:array([1, 2, 3, 1, 2, 3, 1, 2, 3])

在本例中,我们定义了一个列表 a,然后使用 tile 函数将其重复 3 次,将结果赋值给 b。最终,通过打印 b,我们可以看到得到了重复了 3 次的新数组。

示例 2:重复元组

import numpy as npa = (1, 2, 3)b = np.tile(a, 3)print(b)# 输出结果:array([1, 2, 3, 1, 2, 3, 1, 2, 3])

在本例中,我们定义了一个元组 a,然后使用 tile 函数将其重复 3 次,将结果赋值给 b。重复后的结果与示例 1 相同。

示例 3:重复数组

import numpy as npa = np.array([[1, 2], [3, 4]])b = np.tile(a, 2)print(b)# 输出结果:array([[1, 2, 1, 2],#                 [3, 4, 3, 4]])

在本例中,我们首先创建了一个二维数组 a,然后使用 tile 函数将其沿着第一个维度重复 2 次(即沿着行方向重复 2 次),将结果赋值给 b。最终,通过打印数组 b,我们可以发现,每行都重复了 2 次。

示例 4:指定形状重复

import numpy as npa = np.array([1, 2, 3])b = np.tile(a, (2, 2))print(b)# 输出结果:array([[1, 2, 3, 1, 2, 3],#                 [1, 2, 3, 1, 2, 3]])

在本例中,我们首先创建了一个一维数组 a,然后使用 tile 函数将其沿着两个维度分别重复 2 次(即重复 2 行 2 列),将结果赋值给 b。最