采购信息发布/yoast seo
文章目录
- 元组
- 字典
- 集合
- 共性
Julia系列:编程初步🔥数组
作为通用编程语言,除了数组之外,julia实现了元组、字典、集合等数据结构。
元组
与向量类似,也是一维的数据结构,并且对数据类型无要求,从创建流程来说,向量用方括号创建,元组用圆括号创建,并且支持索引,下标从1开始
x = (1, "a") # (1, "a")
x[1] # 1
x[2] # "a"
x[1]=1 # 报错
除了普通的元组之外,Julia还支持带有键的元组,
y = (; name="micro", age=7) # (name = "micro", age = 7)
带键元组支持两种索引方式,一种是符号索引,一种是点索引,前者更像是字典,后者更像是类
y[:name] # "micro"
y.age # 7
无论是普通元组,还是带有名字的元组,其内部元素都是固定的,不支持修改,这是元组与向量以及字典的区别。
字典
字典就是键值对结构,通过键来索引值,并且内部元素可动态修改
d = Dict("name"=>"micro", "age"=>7)
d["name"] # "micro"
d["age"] = 8 #8
println(d)
# Dict{String, Any}("name" => "micro", "age" => 8)
初学者容易忘记调用Dict
,而写为如下形式
ps = ("name"=>"micro", "age"=>7)
这个ps
其实是一个元组,而其中的元素xx=>yy
则是一个Pair。
ps[1] # "name" => "micro"
typeof(ps[1]) # Pair{String, String}
Pair支持方括号索引,也可以通过first和last来获取元素
ps[1][1] # "name"
last(ps[1]) # "micro"
集合
Julia中的集合,和数学上的集合有个相似的性质,即没有重复元素,可通过函数Set
生成
Set(x) # Set{Any} with 2 elements: "a" 1
Set(y) # Set{Any} with 2 elements: 7 "micro"
Set([1,2,3,3])
#= Set{Int64} with 3 elements:231
=#
Julia中为集合提供了计算函数以及运算符
功能 | 函数形式 | 运算符形式 |
---|---|---|
并集 | union(A, B) | A ∪ B |
交集 | intersect(A, B) | A ∩ B |
差集 | setdiff(A, B) | A \ B |
对称差集 | symdiff(A, B) | (A∖B)∪(B∖A) |
判断相等 | issetequal(A, B) | |
判断子集 | issubset(A, B) | A ⊆ B |
在Julia命令行中,这些特殊符号可通过\xxx
然后按下tab键打出,语法与markdown相同
∪ | \cup | ∩ | \cap |
⊆ | \subseteq | ⊈ | \nsubseteq |
⊇ | \supseteq | ⊉ | \nsupseteq |
∈ | \in | ∋ | \ni |
∉ | \notin | ∌ | \nni |
下面做一个简单的测试
A = Set([1,2,3,4,5])
B = Set([2,3,4])
A ∪ B # 5 4 3 2 1
A ∩ B # 4 2 3
3 in A # true
3 ∈ A # true
共性
这些数据结构有一个共性,它们可以快速匹配等号左边的变量,并进行赋值
a,b = x # a=1, b="a"
a,b = d # a = "name" => "micro"; b = "age" => 8
但集合本质上是无序的,所以并不建议用这种方法赋值,比如下面的案例中,A在创建时的顺序明明是1, 2, 3, 4, 5,但对a,b 赋值的结果却是5和4。
a,b = A # a = 5, b = 4
相关文章:

Julia元组、字典、集合
文章目录 元组字典集合共性 Julia系列:编程初步🔥数组 作为通用编程语言,除了数组之外,julia实现了元组、字典、集合等数据结构。 元组 与向量类似,也是一维的数据结构,并且对数据类型无要求,…...

EfficientViT:高分辨率密集预测的多尺度线性关注
标题:EfficientViT: Multi-Scale Linear Attention for High-Resolution Dense Prediction 论文:https://arxiv.org/abs/2205.14756 中文版:【读点论文】EfficientViT: Enhanced Linear Attention for High-Resolution Low-Computation将soft…...

每日一道算法题:26. 删除有序数组中的重复项
难度 简单 题目 给你一个 非严格递增排列 的数组 nums ,请你原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为…...

吴恩达《机器学习》2-2->2-4:代价函数
一、代价函数的概念 代价函数是在监督学习中用于评估模型的性能和帮助选择最佳模型参数的重要工具。它表示了模型的预测输出与实际目标值之间的差距,即建模误差。代价函数的目标是找到使建模误差最小化的模型参数。 二、代价函数的理解 训练集数据:假设我…...

软考 系统架构设计师系列知识点之设计模式(6)
接前一篇文章:软考 系统架构设计师系列知识点之设计模式(5) 所属章节: 老版(第一版)教材 第7章. 设计模式 第2节. 设计模式实例 相关试题 1. 设计模式描述了一个出现在特定设计语境中的设计再现问题&…...

use renv with this project create a git repository
目录 1-create a git repository 2-Use renv with this project 今天在使用Rstudio过程中,发现有下面两个新选项(1)create a git repository (2) Use renv with this project. 选中这两个选项后,创建新项目,在项目目…...

摄像头种类繁多,需要各自APP
老外报怨吾APP不能用之后,吾按照提供的图片买了一个。昨天到货以后,心想这下你小子可被我逮住了,非解决你不可…… 吾APP当然不能用。老外声称能用的APP也不能用。又下载了一个,还是不能用。 最后只能老老实实的想办法从Google P…...

Openssl数据安全传输平台010:jasoncpp 0.10.7的编译 - Windows-vs2022 / Ubuntu/ Centos8 -含测试代码
文章目录 0. 代码仓库1 安装1.1 windows 下的安装1.2 Linux 下的安装1.2.1 相关环境配置问题1.2.2 准备安装1.2.2.1 安装scons1.2.2.2 安装jsoncppUbuntu系统下Centos8系统下 2 编译 c 测试文件: json-test.cpp2.1 配置库文件2.2 配置VS2.3 Winsows系统下cpp文件测试…...

GSCoolink GSV6182 带嵌入式MCU的MIPI D-PHY转HDMI 2.0
Gscoolink GSV6182是一款高性能、低功耗的MIPI D-PHY到HDMI 2.0转换器。通过集成基于RISC-V的增强型微控制器,GSV6182创造了一种具有成本效益的解决方案,提供了上市时间优势。MIPI D-PHY接收器支持CSI-2版本1.3和DSI版本1.3,每条通道最高可达…...

ABBYY FineReader PDF15免费版图片文件识别软件
ABBYY全称为“ABBYY FineReader PDF”, ABBYY FineReader PDF集优秀的文档转换、PDF 管理和文档比较于一身。 首先这款软件OCR文字识别功能十分强大,话不多说,直接作比较。下图是某文字识别软件识别一串Java代码的结果,识别的结果就不多评价…...

如何使用手机蓝牙设备作为电脑的解锁工具像动态锁那样,蓝牙接近了电脑,电脑自动解锁无需输入开机密码
环境: Win10 专业版 远程解锁 蓝牙解锁小程序 问题描述: 如何使用手机蓝牙设备作为电脑的解锁工具像动态锁那样,蓝牙接近了电脑,电脑自动解锁无需输入开机密码 手机不需要拿出来,在口袋里就可以自动解锁ÿ…...

几道面试题记录20231023
1, JVM优化 -Xms-Xmx -Xmn -Xss -XX:PermSize -XX:MaxPermSize -NewRatio -SuvriorRatio 收集器配置: 一般:串行收集 Serial 吞吐优先:并行收集Pramllel 响应优先:并发收集Conc 2,支付掉单如何解决? 因为网络等原…...

c++ 线程安全的string类
非安全string 说明 c标准未规定stl容器以及字符串的线程安全性,故std::string在多线程下是不安全的。 代码示例 #include <iostream> #include <stdio.h> using namespace std;std::string *sp nullptr;void Read() {for(int i 0; i < 100000;…...

linux上安装apktool反编译apk解析AndroidManifest.xml得到首页Activity
需求 在linux系统上反编译安卓app, 有些应用需要知道其主页Activity用于adb指令打开其主页。 安装 自动安装脚本 #!/bin/bashwget https://raw.githubusercontent.com/iBotPeaches/Apktool/master/scripts/linux/apktool -O ./apktool wget https://bitbucket.org/iBotPeac…...

代码随想录算法训练营第4天| 24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题 02.07. 链表相交 、142.环形链表II
JAVA语言编写 24. 两两交换链表中的节点 谷歌、亚马逊、字节、奥多比、百度 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。…...

【面向对象程序设计】Java大作业 汽车租赁管理系统V4.0
前言 自己大二时候使用JavaMysql写的租车系统大作业V4.0黑窗口版的一个记录,简简单单的黑窗口,不是炫酷的前后端分离也没用GUI,但功能完善,该有都有,当时得分也还是挺不错的 技术栈 Java (jdk8)Mysql 资源包内容 …...

golang模拟QQ退出后自动重启
模拟QQ退出后自动重启,go build xxx.go 打包成exe运行。 processName 为你所需要的进程exe processNamePath 为你所需要的进程路径 package mainimport ("bytes""errors""fmt""os""os/exec""regexp"&…...

jQuery中ajax如何使用
jQuery中ajax如何使用及代码详解 1. 引言 在现代Web开发中,使用Ajax进行异步数据交互变得非常普遍。而在jQuery中,提供了便捷的方法来实现Ajax请求,简化了开发过程。本文将介绍jQuery中如何使用Ajax以及通过代码详解其使用方法。 2. Ajax简介…...

redis集群的多key原子性操作如何实现?
1、背景 在单实例redis中,我们知道多key原子性操作可以用lua脚本或者multi命令来实现。 比如说有一个双删场景,要保证原子性同时删除k1和k2。 可以用lua双删 EVAL "redis.call(del, KEYS[1]);redis.call(del, KEYS[2])" 2 k1 k2也可以用事务…...

密码学与网络安全:量子计算的威胁与解决方案
第一章:引言 在当今数字化世界中,网络安全一直是一个备受关注的话题。密码学作为网络安全的基石,扮演着至关重要的角色。然而,随着科学技术的不断进步,特别是量子计算的崛起,传统密码学的基础受到了严重威…...

GoLong的学习之路(十二)语法之标准库 flag的使用
上回书说到,fmt的标准库的一些常用的使用函数。这次说flag的使用,以下这些库要去做了解。不然GG,Go语言内置的flag包实现了命令行参数的解析,flag包使得开发命令行工具更为简单。 文章目录 os.Argsflag包flag.Type()flag.TypeVar(…...

mac git ssh
1.作用 1.不用账号密码拉取git项目 2.使用 1.检查是否生成ssh的公钥和私钥 命令: cd ~/.ssh表示没有 No such file or directory 2.如果没有就生成公钥和私钥 ssh-keygen -t rsa -C "帅哥***.com"后面的是git邮箱地址 然后一直按enter,…...

栈、共享栈、链式栈(C++实现)
文章目录 前言1. 栈的顺序存储(顺序栈)2. 栈的基本操作🍑 入栈操作🍑 出栈操作🍑 获取栈顶元素🍑 获取栈的长度🍑 判断是否为空栈🍑 判断栈是否满了🍑 打印栈内的元素&am…...

MySQL实战2
文章目录 主要内容一.回访用户1.准备工作代码如下(示例): 2.目标3.实现代码如下(示例): 二.如何找到每个人每月消费的最大天数1.准备工作代码如下(示例): 2.目标3.实现代码如下(示例)…...

【面试经典150 | 栈】简化路径
文章目录 Tag题目来源题目解读解题思路方法一:字符串数组模拟栈 其他语言python3 写在最后 Tag 【栈】【字符串】 题目来源 71. 简化路径 题目解读 将 Unix 风格的绝对路径转化成更加简洁的规范路径。字符串中会出现 字母、数字、/、_、. 和 .. 这几种字符&#…...

无线电编码和记录和静音检测器 PlayOutONE LiveStream 5.0
直播编码器,随处流式传输。LiveStream 应用程序的多色图案屏幕截图,显示一波进入,四路流出来,LiveStream是一站式应用程序,可让您的电台在需要的地方输出。 对音频进行编码以进行流式传输,使用您最喜欢的V…...

React中useEffect Hook使用纠错
引言 React是一种流行的JavaScript库,用于构建用户界面。它提供了许多强大的功能和工具,使开发人员能够轻松地构建交互式和可重用的组件。其中一个最常用的功能是React的useEffect Hook,它允许我们在函数组件中执行副作用操作。然而…...

0049【Edabit ★☆☆☆☆☆】【修改Bug代码】Buggy Code
0049【Edabit ★☆☆☆☆☆】【修改Bug代码】Buggy Code bugs language_fundamentals Instructions The challenge is to try and fix this buggy code, given the inputs true and false. See the examples below for the expected output. Examples has_bugs(true) // &qu…...

javaswing/gui的科学计算器
一个使用javajavaswing/gui的科学计算器程序。 支持加减乘除,函数运算,清空,退回等操作。 还支持进制运算。 源码下载地址 支持:远程部署/安装/调试、讲解、二次开发/修改/定制...

Chapter1:C++概述
此专栏为移动机器人知识体系的 C {\rm C} C基础,基于《深入浅出 C {\rm C} C》(马晓锐)的笔记, g i t e e {\rm gitee} gitee链接: 移动机器人知识体系. 1.C概述 1.1 C概述 计算机系统分为硬件系统和软件系统。 硬件系统:指组成计算机的电子…...