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

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

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

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

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

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

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

相关文章
使用推导式和生成器创建数组
使用推导式和生成器创建数组
|
14天前
使用推导式和生成器创建数组
使用推导式和生成器创建数组
|
8天前
|
运维 监控 安全
高效运维管理:从混沌到有序的艺术
【10月更文挑战第4天】 在当今数字化时代,运维管理成为企业IT部门的重中之重。本文将探讨如何通过系统化的策略和工具,将看似杂乱无章的运维工作变得井井有条。我们将从基础架构监控、自动化工具的应用、到团队协作流程的优化等方面,逐步揭示实现高效运维管理的秘诀,并通过一些实际案例展示这些策略和方法的实际应用效果。希望本文能够为企业运维团队提供有价值的参考,帮助大家在纷繁复杂的工作中找到秩序与效率。
108 63
|
8天前
|
缓存 应用服务中间件 PHP
502错误是nginx返回的吗(502错误和nginx有关系吗)
本文详细介绍了Nginx出现502 Bad Gateway错误的原因及解决方法,包括缓冲区错误、Header过大和PHP-CGI进程不足等问题,并提供了增大缓冲区、调整Header大小及增加PHP-CGI进程数量的具体步骤。此外,还解释了502错误的含义及其可能原因,如上游服务器故障、网络故障和配置错误,并给出了检查上游服务器、代理配置及联系网络管理员等多种解决方案。以上内容仅供参考,具体操作需根据实际情况调整。
|
6天前
|
Linux 编译器 测试技术
【C++】CentOS环境搭建-快速升级G++版本
通过上述任一方法,您都可以在CentOS环境中高效地升级G++至所需的最新版本,进而利用C++的新特性,提升开发效率和代码质量。
92 64
|
2天前
|
分布式计算 并行计算 Unix
Julia 教程
Julia 教程
|
8天前
|
存储 监控 安全
服务器维护是确保服务器稳定运行、数据安全和性能优化的重要过程
【10月更文挑战第4天】服务器维护是确保服务器稳定运行、数据安全和性能优化的重要过程
103 65
|
8天前
|
存储 监控 安全
Web服务器的维护
【10月更文挑战第4天】Web服务器的维护
91 62
|
9天前
|
UED