Julia: 从set 、setdiff和 setdiff!说起
一、Set : 没有顺序,有些象Dict()
julia> b=Set{Int}[] # 不能用push!
0-element Array{Set{Int64},1}
julia> push!(b,Set{1})
MethodError(convert,(Set{Int64},Set{1}))
julia> push!(b,1)
MethodError(convert,(Set{Int64},1))
julia> b=Set{Int}() # 可以用push!
Set{Int64}()
julia> push!(b,1)
Set{Int64}(1)
julia> push!(b,2)
Set{Int64}(2,1)
julia> push!(b,3)
Set{Int64}(2,3,1)
二、setdiff :二个集合的不同元素(在一个中,但不在另一个中)
Construct the set of elements in s1 but not s2.Maintainsorder with arrays.
julia> A = [1,2,3,0]; B = [2,3,4];
julia> setdiff(A, B) # 找出在A中,但是不在B中的元素, 按A中顺序排列
2-element Array{Int32,1}:
1
0
# 注意,并不能进行以下操作,认为可以找到二者的不同!
julia> setdiff(Set(A), Set(B)) # 注意,这二个的不同元素,并不相交,所以仍为前者!
Set{Array{Int64,1}}([1,2,3,0])
# 根本原因是:Set(A) 并不是Set{Int64}类型!
julia> Set(A)
Set{Array{Int64,1}}([1,2,3,0])
三、setdiff! : setdiff!(s, iterable) :Remove each elementof iterable from set s in-place.
因此,前面一个参数必须是Set !
# 操作1
julia> b
Set{Int64}(2,3,1)
julia> setdiff!(b,[1 2]) # 操作后,b: 为只有一个3元素的Set!
Set{Int64}(3)
# 操作2
julia> A =Set([1 2 3])
Set{Array{Int64,2}}(1x3 Array{Int64,2}:1 2 3)
julia> B=Set([2 3 4])
Set{Array{Int64,2}}(1x3 Array{Int64,2}: 2 3 4)
julia> setdiff!(A,B)
Set{Array{Int64,2}}(1x3 Array{Int64,2}:1 2 3)
# 操作3
julia> setdiff!(B,[1,2])
Set{Array{Int64,2}}(1x3 Array{Int64,2}: 2 3 4)
# error
julia> setdiff!([1 2 3],[1,2])
MethodError(setdiff!,(1x3 Array{Int64,2}:1 2 3,[1,2]))
# 举例:一个求质数的函数(说明:来自于转载)
# 一个大于1的自然数,除了1和它本身外,不能被其他自然数整除(除0以外)的数称之为素数(质数);
function get_primes(n)
numbers::Set{Int} = Set(2:n)
primes::Array{Int64,1} = []
while !isempty(numbers)
p = minimum(numbers)
push!(primes,p);
setdiff!(numbers,Set(p:p:n))
end
return primes
end
Julia: 从set 、setdiff和 setdiff!说起相关推荐
- itext设置pdf的尺寸_freemark+ITextRenderer 生成PDF,设置pdf的页面大小
[zz]matlab 求差集 matlab判断2个数组中不同元素--setdiff c = setdiff(A, B) 返回在A中有,而B中没有的值,结果向量将以升序排序返回.在集合论中,c = A ...
- R函数:交集intersect、并集union、找不同setdiff、判断相同setequal
R语言基础系列: 你知道R中的赋值符号箭头(<-)和等号(=)的区别吗? 1数据类型(向量.数组.矩阵. 列表和数据框) 2读写数据所需的主要函数.与外部环境交互 3数据筛选--提取对象的子集 ...
- R语言setdiff函数集合作差运算实战
R语言setdiff函数集合作差运算实战 目录 R语言setdiff函数集合作差运算实战 #基本语法 #setdiff函数用于数值向量
- Julia程序设计3 数组2 排序、复制、集合运算、字典
Julia程序设计3 数组2 排序.复制.集合运算.字典 排序 排序算法 查找数组中的元素 复制数组 for语句实现数组的变换与生成 集合运算 字典 创建字典 查阅字典 查看索引 修改字典 添加.删除 ...
- Julia 矩阵QR分解和特征值
Julia 矩阵QR分解和特征值 前言 1. 施密特正交 (1) 利用施密特正交求出正交矩阵Q (2) 求出上三角矩阵R (3) 改进的消减QR分解 2. 完全QR分解 3. 矩阵QR分解的作用 (1 ...
- CUDA Samples: Julia
以下CUDA sample是分别用C++和CUDA实现的绘制Julia集曲线,并对其中使用到的CUDA函数进行了解说,code参考了<GPU高性能编程CUDA实战>一书的第四章,各个文件内 ...
- julia有 pytorch包吗_有了Julia语言,深度学习框架从此不需要计算图
选自julialang 作者:Mike Innes 等 机器之心编译 参与:刘晓坤.思源 本文基于 NeurIPS MLSys 的一篇论文<Fashionable Modelling with ...
- 大手笔 !Julia Computing 获 2400 万美元融资,前 Snowflake CEO 加入董事会
整理 | 梦依丹 出品 | CSDN(ID:CSDNnews) 2021 年 7 月 19 日,由 Julia 高性能编程语言创始人成立的 Julia Computing 公司完成了 2400 万美元 ...
- 再见 Python,Hello Julia!
作者 | Rhea Moutafis 译者 | 苏本如,责编 | 夕颜 头图 | CSDN 下载自视觉中国 出品 | CSDN(ID:CSDNnews) 随着Python的停滞不前,一个新的热门竞争对 ...
- PyTorch核心开发者灵魂发问:我们怎么越来越像Julia了?
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 梦晨 发自 凹非寺 量子位 报道 | 公众号 QbitAI PyTo ...
最新文章
- python3 json安装_python3下JSON和JsonPath
- 互联网协议 — 使用 Wireshark 调试 HTTPS 及 HTTP/2 流量
- UA MATH571B 试验设计III 单因素试验设计1
- figma下载_在Figma上进行原型制作的各种触发选项
- PyCharm光标变粗的解决办法
- JAVA命令符找不到符号_[转]Java命令行编译文件时出现的错误,找不到符号或软件包不存在等...
- postscript打印机什么意思_涨知识|你不知道的关于打印机的打印过程和打印机驱动的那些事...
- ajax跨域,json,jsonp
- vs code 的便捷使用
- 计算机专业电路基础高考试卷,计算机专业电路基础试题(4页)-原创力文档
- pkg_resources.ContextualVersionConflict: (pyasn1 0.1.9 (c:\users\dell\anaconda3\lib\site-packages)
- 编译Openwrt(LEDE)for K3固件详细指南
- gif一键抠图 在线_免费在线抠图软件
- JAVA编写元音字母(Switch语句)
- H3C R6900 G3服务器虚拟化实施(VMware vSphere 7)
- 立法禁食猫狗肉属本末倒置
- linux屏幕亮度调整命令,linux下调节笔记本屏幕亮度方法-涉及命令lspci, setpci (转载)...
- 论文笔记丨关于稳态视觉诱发电位的脑机接口
- eclipse反编译离线安装
- 日报周报月报工作总结生成器「智能文案生成器」