# reverse
对数据进行翻转,创建副本
# 语法
reverse(v, start=1, stop=length(v))
reverse(A; dims=:)
reverse(s)
# 说明
reverse(v, start=1, stop=length(v)) 返回从开始到停止翻转的向量或元组 v 的副本,但不改变向量或元组的原始数据。 示例
reverse(A; dims=:) 返回根据维度 dims 翻转矩阵 A 的副本,但不改变矩阵的原始数据。 示例
reverse(s) 返回翻转字符串 s 的副本,但不改变字符串的原始数据。 示例
# 示例
根据索引号翻转
创建一个向量 A。
A = Vector(1:5)
5-element Vector{Int64}:
1
2
3
4
5
开始和结束索引号为空时,向量 A 全部翻转。
reverse(A)
5-element Vector{Int64}:
5
4
3
2
1
向量 A 中的数据不变。
A
5-element Vector{Int64}:
1
2
3
4
5
翻转向量 A 中索引是 1 到 4 的数据。
reverse(A, 1, 4)
5-element Vector{Int64}:
4
3
2
1
5
翻转向量 A 中索引是 3 到 5 的数据。
reverse(A, 3, 5)
5-element Vector{Int64}:
1
2
5
4
3
根据维度翻转
创建矩阵 B。
B = Int64[1 2; 3 4]
2×2 Matrix{Int64}:
1 2
3 4
根据维度 2 进行翻转,即矩阵每行进行翻转。
reverse(B, dims=2)
2×2 Matrix{Int64}:
2 1
4 3
dims 为空时,即矩阵每行和每列都进行翻转。
reverse(B)
2×2 Matrix{Int64}:
4 3
2 1
翻转字符向量
对字符串直接翻转。
A = "no word, no bond, row on.";
B = reverse(A)
B =
".no wor ,dnob on ,drow on"
翻转矩阵
using TyMath
A = diagm([100, 200, 300])
A =
3×3 Matrix{Int64}:
100 0 0
0 200 0
0 0 300
沿第一个维度翻转 A。
B = reverse(A,dims = 1)
B =
3×3 Matrix{Int64}:
0 0 300
0 200 0
100 0 0
现在,沿第二个维度翻转 A。
B = reverse(A,dims = 2)
B =
3×3 Matrix{Int64}:
0 0 100
0 200 0
300 0 0
翻转 N 维数组
A = zeros(Int, 1, 3, 2)
A[:, :, 1] = [1 2 3]
A[:, :, 2] = [4 5 6]
A =
1×3×2 Array{Int64, 3}:
[:, :, 1] =
1 2 3
[:, :, 2] =
4 5 6
沿第二个维度翻转 A。
B = reverse(A,dims = 2)
B =
1×3×2 Array{Int64, 3}:
[:, :, 1] =
3 2 1
[:, :, 2] =
6 5 4
现在,沿第三个维度翻转 A。
B = reverse(A,dims = 3)
B =
1×3×2 Array{Int64, 3}:
[:, :, 1] =
4 5 6
[:, :, 2] =
1 2 3
翻转行向量
创建一个行向量。
A = 1:10
A =
1:10
使用 reverse 可沿水平方向翻转 A 的元素。
B = reverse(A)
B =
10:-1:1
B 中元素的顺序与 A 中元素的顺序相反。
翻转列向量
创建一个列向量。
A = reshape(1:10, :, 1)
使用 reverse 可沿垂直方向翻转 A 的元素。
B = reverse(A)
B =
10×1 Matrix{Int64}:
10
9
8
7
6
5
4
3
2
1
B 中元素的顺序与 A 中元素的顺序相反。
翻转多维数组
创建一个多维数组。
A = cat([1 2; 3 4], [5 6; 7 8]; dims=3)
A =
2×2×2 Array{Int64, 3}:
[:, :, 1] =
1 2
3 4
[:, :, 2] =
5 6
7 8
A 是大小为 2×2×2 的数组。
沿水平方向翻转 A 的每页上的元素。
B = reverse(A,dims = 2)
B =
2×2×2 Array{Int64, 3}:
[:, :, 1] =
2 1
4 3
[:, :, 2] =
6 5
8 7
结果 B 的大小与 A 相同,但翻转了元素的水平顺序。该操作独立翻转每一页上的元素。
# 输入参数
v - 翻转向量向量 | 元组
v 是需要被翻转的数据,指定为向量、元组。
数据类型: Int8 | Int16 | Int32 | Int64 | Int128 | UInt8 | UInt16 | UInt32 | UInt64 | UInt128 | Float16 | Float32 | Float64 | Bool | Char | String
start,end - 开始,停止的索引号正整数
start,end 是被翻转的数据开始和停止的索引号,必须为正整数。
A - 翻转矩阵矩阵
A 是需要被翻转的数据,指定为矩阵。
dims - 翻转维度正整数 | 元组 | :
dims 是翻转维度,可以是单个正整数、元组、:(所有维度)。
s - 翻转字符串字符串
s 是待翻转的字符串数据。