Julia 挖坑

Julia之坑函数和词典

2018-09-07  本文已影响20人  黑猫中度烘焙

最简单的函数写法

julia> f(x) = 2x
f (generic function with 1 method)
julia> map(f, [2,4,6,8])

稍微简化一下的写法

map(x -> 2x, [2,4,6,8])
map(x->sqrt(abs(sin(x))), [1,2,3])

从Juliacn上面抄来的一个写法

split(string("a"^20,"b"^3,"c"^2),"")
println(s)
@time split(string("a"^20,"b"^3,"c"^2),"") |> x->[count(i->i==j, x) for j in unique(x)]

最头大的就是词典了,一直很难明白词典的使用方法
比如数一下一个字符串中重复个体的数量,返回一个词典

function dicUni(a)
    u=unique(a)
    d=Dict([(i, count(x->x==i,a)) for i in u])
end

println(dicUni(s))
Dict("c"=>2,"b"=>3,"a"=>20)

如果放在for loop里面,则是

function f(x)
    t=[]
    d=Dict()
    for i in unique(x)
        t1 = count(j -> j == i, x)
        t = push!(t, t1)
        d[i] = t1
    end
    return t,d
end

a,b=f(s)
println(b)
Dict{Any,Any}("c"=>2,"b"=>3,"a"=>20)

从词典变成dataframe

using DataFrames
x = collect(keys(b))
y = collect(values(b))
z = DataFrame([collect(keys(b)), collect(values(b))], [:A, :B])
上一篇下一篇

猜你喜欢

热点阅读