版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
二、Julia語(yǔ)言基礎(chǔ)語(yǔ)法2.1基本數(shù)據(jù)類型2.2數(shù)組2.3集合容器2.4數(shù)學(xué)運(yùn)算和初等函數(shù)2.5
流程控制2.3、集合容器集合容器:一種用于存儲(chǔ)和管理數(shù)據(jù)元素的數(shù)據(jù)結(jié)構(gòu),每個(gè)容器中的元素都可以通過(guò)特定的方式進(jìn)行訪問(wèn)和操作。數(shù)組是Julia中信息和數(shù)據(jù)的基本表示形式,其中的元素可以是任意類型的。元組可用于存儲(chǔ)任意類型的數(shù)據(jù)。字典保存一系列映射關(guān)系,可通過(guò)關(guān)鍵字(Key)查找對(duì)象對(duì)應(yīng)的值。表格可更為方便地分析和處理數(shù)據(jù)。容器類型元素類型元素順序元素可變性形式元組(Tuple)任意類型有序不可變(a,b,c)字典(Dict)任意類型的鍵值對(duì)無(wú)序可變Dict(a
=>n,b=>m)表格(DataFrame)同種類型(互不相等)無(wú)序可變Set((a,b,c))數(shù)組(Array)相同類型(允許不同類型)有序可變[a,b,c]四種容器對(duì)比2.3、集合容器2.3.1元組元組:一種非常簡(jiǎn)單的容器,是一種可以包含各種類型和大小數(shù)據(jù)的索引數(shù)據(jù)容器,通常是包含文本列表、文本和數(shù)字的組合或者不同大小的數(shù)值數(shù)組。函數(shù)描述tuple(xs...)構(gòu)造給定對(duì)象的元組ntuple創(chuàng)建一個(gè)長(zhǎng)度為n的元組,計(jì)算每個(gè)元素為f(i)julia>t=(1,2,3,"text",(11,22,33))#可通過(guò)圓括號(hào)()直接構(gòu)建元組。注意:元組一旦構(gòu)建就不能修改(1,2,3,"text",(11,22,33))julia>t[1:4] #通過(guò)索引訪問(wèn)元組(1,2,3,"text")julia>t=tuple(1,'a',pi)#通過(guò)tuple函數(shù)創(chuàng)建元組(1,'a',π)julia>t[2]'a':ASCII/UnicodeU+0061(categoryLl:Letter,lowercase)julia>ntuple(i->2*i,4) #構(gòu)建一個(gè)從1開始、步長(zhǎng)為1、長(zhǎng)度為4的元組,并計(jì)算每個(gè)元素的2倍(2,4,6,8)julia>ntuple(i->2*i,Val(4))#也可以通過(guò)使用Val(N)參數(shù)作為元組的長(zhǎng)度(2,4,6,8)2.3、集合容器2.3.2字典字典:一種容器,將值映射到唯一鍵的對(duì)象。它包含的是鍵值對(duì)而不是元素值,每個(gè)鍵值對(duì)都是一個(gè)存儲(chǔ)單元,也被稱為映射,表示從一個(gè)鍵到一個(gè)值的映射關(guān)系。函數(shù)描述Dict字典(將值映射到唯一鍵的對(duì)象)haskey確定映射對(duì)象是否包含鍵keys返回映射對(duì)象的鍵values返回映射對(duì)象的值julia>D=Dict("Jan"=>327.2,"Feb"=>368.2,"Mar"=>197.6,"Apr"=>178.4)Dict{String,Float64}with4entries:"Mar"=>197.6"Apr"=>178.4"Jan"=>327.2"Feb"=>368.2julia>D["Mar"]#通過(guò)鍵來(lái)獲取對(duì)應(yīng)的值197.6julia>haskey(D,"Mar")#查看字典D是否含有鍵"Mar"truejulia>collect(keys(D))#查詢字典D中的所有鍵4-elementVector{String}:"Mar""Apr""Jan""Feb"julia>collect(values(D))#查詢字典D中的所有值4-elementVector{Float64}:197.6178.4327.2368.2構(gòu)建與訪問(wèn)字典julia>C=Dict([("A",1),("B",2)])#可以通過(guò)輸入鍵值對(duì)元組來(lái)構(gòu)建字典Dict{String,Int64}with2entries:"B"=>2"A"=>1julia>#傳遞一系列成對(duì)參數(shù)來(lái)構(gòu)建字典,例如創(chuàng)建一個(gè)包含幾個(gè)月降雨量數(shù)據(jù)的字典(下接)2.3、集合容器2.3.2字典函數(shù)描述get獲取給定鍵存儲(chǔ)的值getkey若集合中有與鍵匹配的值則返回鍵,否則返回默認(rèn)值keytype返回包含鍵類型的數(shù)組valtype返回包含值類型的數(shù)組julia>d=Dict("a"=>1,"b"=>2,"c"=>3);julia>get(d,"a",3)#獲取字典中鍵"a"對(duì)應(yīng)的值1julia>getkey(d,"a",1)#獲取字典d中的鍵"a""a"獲取字典信息2.3、集合容器2.3.3表表:具有靈活性的有序集合對(duì)象類型,可以包含任何種類的對(duì)象,如數(shù)字、字符串甚至其他表等。函數(shù)描述DataFrame具有命名變量的表數(shù)組rename更改列名CSV.read讀取文件CSV.write輸出文件first表格第一行l(wèi)ast表格最后一行describe輸出表的摘要nrow表行數(shù)ncol表列數(shù)函數(shù)描述innerjoin將表從內(nèi)部連接outerjoin外部連接combine結(jié)合行對(duì)列轉(zhuǎn)換select對(duì)列轉(zhuǎn)換,行數(shù)不變select!復(fù)制新的表格對(duì)列轉(zhuǎn)換,行數(shù)不變transform對(duì)列進(jìn)行轉(zhuǎn)換,行數(shù)不變并保留原列transform!不復(fù)制新的表格對(duì)列進(jìn)行轉(zhuǎn)換joindataframe使用鍵變量按行合并兩個(gè)表2.3、集合容器2.3.3表例如:使用DataFrame函數(shù)創(chuàng)建表格。julia>DataFrame((a=[1,2],b=[3,4]))#直接對(duì)定義表格變量和數(shù)據(jù)2×2DataFrameRow│ab│Int64Int64─────┼──────────────1│132│24julia>DataFrame(A=1:3,B=5:7,fixed=1)3×3DataFrameRow│ABfixed│Int64Int64Int64─────┼─────────────────────1│1512│2613│371julia>DataFrame("a"=>1:2,"b"=>0)#使用字典(鍵值對(duì))創(chuàng)建表格2×2DataFrameRow│ab│Int64Int64─────┼──────────────1│102│20例如:使用rename函數(shù)創(chuàng)建表格副本并更改列名。julia>df=DataFrame(i=1,x=2,y=3)1×3DataFrameRow│ixy│Int64Int64Int64─────┼─────────────────────1│123julia>rename(df,:i=>:A,:x=>:X)1×3DataFrameRow│AXy│Int64Int64Int64─────┼─────────────────────1│1232.3、集合容器2.3.3表例如:創(chuàng)建表格并獲得其指定信息。julia>df=DataFrame([123;456;789],:auto)#創(chuàng)建表格3×3DataFrameRow│x1x2x3│Int64Int64Int64─────┼─────────────────────1│1232│4563│789julia>describe(df) #讀取表格的摘要信息3×7DataFrameRow│variablemeanminmedianmaxnmissingeltype│SymbolFloat64Int64Float64Int64Int64DataType─────┼──────────────────────────────────────────────────────────────1│x14.014.070Int642│x25.025.080Int643│x36.036.090Int64julia>first(df)#讀取表格的第一行數(shù)據(jù)DataFrameRowRow│x1x2x3│Int64Int64Int64─────┼─────────────────────1│123julia>last(df)#讀取表格的最后一行數(shù)據(jù)ans=DataFrameRowRow│x1x2x3│Int64Int64Int64─────┼─────────────────────3│789julia>nrow(df)#求表的行數(shù)3julia>ncol(df)#求表的變量數(shù)32.3、集合容器2.3.4集合屬性與操作函數(shù)描述isempty判斷是否為空empty!刪除所有元素值in判斷元素是否在集合中unique數(shù)組中的唯一值ty_unique數(shù)組中的唯一值uniquetol容差內(nèi)的唯一值maximum返回集合的最大值minimum返回集合的最小值函數(shù)描述collect返回包含集合所有元素的向量union構(gòu)造集合的并集intersect構(gòu)造集合的交集setdiff構(gòu)造集合的差集ty_setdiff設(shè)置兩個(gè)數(shù)組的差集setxor設(shè)置兩個(gè)數(shù)組的異或symdiff構(gòu)造集合的對(duì)稱差上面介紹了元組、字典和表三種集合容器及相關(guān)的基本函數(shù)。除此之外,集合容器還有其他關(guān)于集合屬性與操作的函數(shù),見下表。2.3、集合容器通用操作2.3.4集合屬性與操作例如:創(chuàng)建一個(gè)集合,并對(duì)集合進(jìn)行指定操作。julia>A=Dict("a"=>1,"b"=>2,"c"=>3)Dict{String,Int64}with3entries:"c"=>3"b"=>2"a"=>1julia>TF=isempty(A) #判斷集合是否為空f(shuō)alsejulia>in("c"=>3,A) #判斷元素是否在集合中truejulia>empty!(A) #清空集合中的元素Dict{String,Int64}()julia>TF=isempty(A)true獲取操作例如:創(chuàng)建一個(gè)集合并對(duì)其進(jìn)行獲取操作。julia>A=[3,4,5,5,6,7,7,10,12];julia>unique(A) #求集合中的唯一值7-elementVector{Int64}:345671012julia>maximum(A) #求集合中的最大值12julia>minimum(A) #求集合中的最小值32.3、集合容器操作集合2.3.4集合屬性與操作例如:創(chuàng)建集合,并對(duì)其進(jìn)行運(yùn)算。julia>A=[1,2,3,4,5];B=[3,4,5,6,7];C=[10,11];julia>union(A,B) #求A和B的并集7-elementVector{Int64}:1234567
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)清理服務(wù)合同范例
- 2025合資買房合同
- 公司食堂 供貨合同范例
- 承包油漆車間合同范例
- fidic國(guó)際合同范例
- 個(gè)體 雙方合作合同范例
- 銅陵職業(yè)技術(shù)學(xué)院《教育應(yīng)用寫作》2023-2024學(xué)年第一學(xué)期期末試卷
- 同濟(jì)大學(xué)浙江學(xué)院《檔案信息管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 銅陵學(xué)院《數(shù)理統(tǒng)計(jì)(多元統(tǒng)計(jì))》2023-2024學(xué)年第一學(xué)期期末試卷
- 《三峽》說(shuō)課稿9篇
- 廣西壯族自治區(qū)桂林市2023-2024學(xué)年七年級(jí)上學(xué)期期末數(shù)學(xué)試題(無(wú)答案)
- 鋰電池行業(yè)2024年工廠管理鋰電池生產(chǎn)工藝優(yōu)化和產(chǎn)品質(zhì)量監(jiān)控技術(shù)改進(jìn)方案
- 拆除鋼結(jié)構(gòu)安全施工方案
- 梅花落-唐楊炯
- 國(guó)際仲裁和調(diào)解案例分析
- GB/T 43333-2023獨(dú)立型微電網(wǎng)調(diào)試與驗(yàn)收規(guī)范
- 北京市西城區(qū)五年級(jí)數(shù)學(xué)(上)期末試卷(含答案)
- 心理健康教育主題班會(huì)課件(共38張)
- 五年級(jí)上冊(cè)《勞動(dòng)與技術(shù)》期中期末復(fù)習(xí)測(cè)試卷(附答案)
- 了解世界各大宗教的信仰
- 《社會(huì)調(diào)查研究與方法》課程復(fù)習(xí)題-課程ID-01304試卷號(hào)-22196
評(píng)論
0/150
提交評(píng)論