使用推导式和生成器创建数组

简介: 使用推导式和生成器创建数组

使用推导式和生成器创建数组

创建数组的另一种有用方法是使用推导。

数组推导式语法格式如下:

A = [ F(x,y,...) for x=rx, y=ry, ... ]
F(x,y,...) 取其给定列表中变量 x,y 等的每个值进行计算。值可以指定为任何可迭代对象,但通常是 1:n 或 2:(n-1) 之类的范围,或者像 [1.2, 3.4, 5.7] 这样的显式数组值。结果是一个 N 维密集数组,将变量范围 rx,ry 等的维数拼接起来得到其维数,并且每次 F(x,y,...) 计算返回一个标量。

实例
julia> [n^2 for n in 1:10]
10-element Vector{Int64}:
1
4
9
16
25
36
49
64
81
100
创建二维数组:

实例
julia> [n*m for n in 1:10, m in 1:10]
10×10 Matrix{Int64}:
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100
也可以在没有方括号的情况下编写(数组)推导,从而产生称为生成器的对象。

以下实例创建一个数组:

实例
julia> collect(n^2 for n in 1:5)
5-element Vector{Int64}:
1
4
9
16
25
以下表达式在不分配内存的情况下对一个序列进行求和:

实例
julia> sum(1/n^2 for n=1:1000)
1.6439345666815615

相关文章
使用推导式和生成器创建数组
使用推导式和生成器创建数组
|
15天前
使用推导式和生成器创建数组
使用推导式和生成器创建数组
|
2月前
|
存储 索引
Lua 中有 8 个基本类型
Lua支持八种基本数据类型
算术运算符1
Lua中的算术运算符用于执行基本的数学运算。如表所示,当A=10, B=20时,可以得到如下的运算结果:加法(A+B)=30,减法(A-B)=-10,乘法(A*B)=200,除法(B/A)=2,取余(B%A)=0,乘幂(A^2)=100,取负(-A)=-10,整除(5//2)=2。通过示例代码进一步理解这些运算符的应用,例如a=21, b=10时,进行各种算术运算后输出的结果分别为31、11、210、2.1、1、441和-21。
逻辑运算符
Lua中的逻辑运算符包括`and`、`or`和`not`,用于执行逻辑运算。`and`表示逻辑与,若A为false则返回A,否则返回B;`or`表示逻辑或,若A为true则返回A,否则返回B;`not`表示逻辑非,与逻辑结果相反。例如,当a和b均为true时,`(a and b)`返回true,`(a or b)`也返回true;而`not(a and b)`则返回false。通过这些运算符,可以实现复杂的逻辑判断。
|
2月前
|
分布式计算 并行计算 Unix
其他运算符
这段内容介绍的是Lua语言中的“其他运算符”。主要包括两个部分:字符串连接运算符(..)和一元运算符(#)。字符串连接运算符可以将两个字符串合并成一个新字符串,例如 `"Hello "` .. "World" 结果是 "Hello World"。一元运算符能返回字符串或表的长度,如 #"Hello" 将返回5。通过实例演示了这两个运算符的具体应用。
|
2月前
|
存储 索引
Lua 中有 8 个基本类型
Lua是一种动态类型语言,变量无需预先定义类型,可通过直接赋值进行使用。
|
2月前
|
前端开发 Java Maven
Maven 快照(SNAPSHOT)
在大型软件开发中,不同团队负责不同的模块,如 app-ui 和 data-service。为了适应快速迭代的需求,例如 data-service 团队频繁地进行 bug 修复和功能优化并发布新版本,传统的版本管理方式变得低效且繁琐。因此,“快照”(SNAPSHOT)概念应运而生。快照是一种特殊版本,代表了开发过程中的即时状态。与常规版本不同,Maven 在构建时会自动检查远程仓库中是否有新的快照版本,比如 data-service:1.0-SNAPSHOT,从而确保使用了最新的代码,大大简化了协作流程并提高了开发效率。
|
2月前
|
Java 测试技术 Maven
Maven 插件
Maven插件是Maven的核心组件,用于实现Maven生命周期各个阶段的任务。Maven定义了三个标准生命周期:clean(清理)、default(构建)和site(生成站点文档)。每个生命周期包括多个阶段,这些阶段由不同的Maven插件实现,例如maven-clean-plugin负责执行clean阶段的清理任务。用户可以通过命令行调用特定插件的目标来执行相应的任务,如构建JAR/WAR文件、编译代码、运行单元测试等。