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

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

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

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

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

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天前
使用推导式和生成器创建数组
使用推导式和生成器创建数组
|
29天前
|
人工智能 安全 Linux
龙蜥社区首推 AI 原生操作系统路线,三大重磅计划协同生态布局未来
第二届龙蜥大会圆满落幕,龙蜥操作系统装机量突破800万。
|
29天前
|
数据采集 机器学习/深度学习 数据挖掘
探索Python编程之美:从基础到实战
【9月更文挑战第3天】本文旨在通过深入浅出的方式,带领读者领略Python编程语言的魅力。我们将从基本语法入手,逐步深入至高级特性,最终通过实战案例将理论知识与实践操作相结合。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的见解和技巧。
|
29天前
元组作为函数参数
元组作为函数参数
|
29天前
|
Java
Java中的异常处理:从基础到高级
【9月更文挑战第3天】在Java的世界中,每个角落都可能藏着一个异常。本文将带你走进Java异常处理的大门,从最基础的try-catch语句,到高级的自定义异常和finally块的使用,让你在遇到问题时不再手足无措。我们将通过实际的代码示例,一步步展示如何在Java中优雅地处理异常,保证你的程序即使在面对意外情况时也能稳健运行。
22 5
|
29天前
|
监控 安全 网络安全
云计算与网络安全的融合之路:探索云服务中的信息安全实践
【9月更文挑战第3天】在数字化转型的浪潮中,云计算已成为现代企业不可或缺的技术基石。然而,随着数据和应用逐渐迁移至云端,网络安全和信息安全的挑战亦随之升级。本文将深入探讨云计算环境下的网络安全挑战,并分享如何通过策略和技术手段加强云服务的安全防护,确保企业资产与数据的完整性、可用性和保密性。
36 5
|
29天前
|
分布式计算 并行计算 Unix
|
29天前
|
SQL Java 关系型数据库
JDBC详解
Java Database Connectivity(JDBC)是Java语言中用于访问关系型数据库的标准接口,定义了一组API,使Java程序能以统一方式连接、访问和操作不同关系型数据库,简化数据库操作,提高Java应用程序的可移植性和可维护性。使用JDBC进行数据库操作主要包括创建数据源对象、建立连接、构造和执行SQL语句及释放资源等步骤。此外,还可以使用Set系列方法设置值,并使用get系列方法获取查询结果。
20 2
JDBC详解
|
29天前
|
网络协议 Unix Linux
Linux
inux是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布。它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux支持32位和64位硬件,能运行主要的Unix工具软件、应用程序和网络协议。由于Linux是开源的,因此全世界的Linux爱好者都可以对Linux进行修改和再发布。‌