Julia 数组教程
最后修改时间:2025年3月3日
Julia 中的数组是相同类型的元素的集合,存储在连续的内存块中。它们是 Julia 中最通用、最常用的数据结构之一。本教程通过实际示例涵盖了数组的基本和高级用法。
数组可以是_一维_(向量)、_二维_(矩阵)或_多维_。它们是_可变的_,这意味着它们的内容可以在创建后进行修改。
创建数组
此示例演示了如何创建简单的_一维_数组。
main.jl
arr = [1, 2, 3, 4, 5]
数组 arr
包含整数 1 到 5。
访问数组元素
此示例显示了如何使用索引访问数组中的元素。
main.jl
arr = [10, 20, 30, 40, 50] println(arr[3]) # Output: 30
Julia 中的数组是_1 索引_的,因此 arr[3]
访问第三个元素。
修改数组元素
此示例演示了如何修改数组中的元素。
main.jl
arr = [1, 2, 3, 4, 5] arr[2] = 99 println(arr) # Output: [1, 99, 3, 4, 5]
arr
的第二个元素已更改为 99。
创建二维数组
此示例显示了如何创建_二维_数组(矩阵)。
main.jl
matrix = [1 2 3; 4 5 6; 7 8 9]
matrix
是一个 3x3 数组,元素按行和列排列。
数组切片
此示例演示了如何对数组进行切片以提取元素子集。
main.jl
arr = [10, 20, 30, 40, 50] slice = arr[2:4] # Output: [20, 30, 40]
切片 arr[2:4]
提取从索引 2 到 4 的元素。
连接数组
此示例显示了如何连接两个数组。
main.jl
arr1 = [1, 2, 3] arr2 = [4, 5, 6] combined = [arr1; arr2] # Output: [1, 2, 3, 4, 5, 6]
;
运算符连接 arr1
和 arr2
。
数组推导式
此示例演示了如何使用推导式创建数组。
main.jl
squares = [x^2 for x in 1:5] # Output: [1, 4, 9, 16, 25]
推导式为数字 1 到 5 生成一个平方数组。
查找数组长度
此示例显示了如何查找数组的长度。
main.jl
arr = [1, 2, 3, 4, 5] println(length(arr)) # Output: 5
length
函数返回 arr
中的元素数量。
排序数组
此示例演示了如何对数组进行排序。
main.jl
arr = [5, 3, 1, 4, 2] sorted_arr = sort(arr) # Output: [1, 2, 3, 4, 5]
sort
函数将 arr
的元素按升序排序。
多维数组操作
此示例显示了如何对多维数组执行操作。
main.jl
matrix = [1 2; 3 4] sum_matrix = sum(matrix, dims=1) # Output: [4 6]
sum
函数计算 matrix
中每列的总和。
数组最佳实践
- 预分配数组:为循环中的数组预分配以获得更好的性能。
- 使用推导式:使用推导式简洁地创建数组。
- 利用广播:对元素级操作使用广播。
- 检查维度:在执行操作之前验证数组维度。
来源
在本文中,我们通过各种示例探讨了 Julia 中数组的使用,包括创建、修改、切片和高级操作。