Skip to content

Instantly share code, notes, and snippets.

@St-Hakky
Created January 31, 2018 03:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save St-Hakky/a83e755774d95e91eb13b738b3037953 to your computer and use it in GitHub Desktop.
Save St-Hakky/a83e755774d95e91eb13b738b3037953 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"toc": "true"
},
"source": [
"# Table of Contents\n",
" <p><div class=\"lev1 toc-item\"><a href=\"#Arrays\" data-toc-modified-id=\"Arrays-1\"><span class=\"toc-item-num\">1&nbsp;&nbsp;</span>Arrays</a></div><div class=\"lev1 toc-item\"><a href=\"#多次元配列\" data-toc-modified-id=\"多次元配列-2\"><span class=\"toc-item-num\">2&nbsp;&nbsp;</span>多次元配列</a></div><div class=\"lev1 toc-item\"><a href=\"#配列の初期化\" data-toc-modified-id=\"配列の初期化-3\"><span class=\"toc-item-num\">3&nbsp;&nbsp;</span>配列の初期化</a></div><div class=\"lev1 toc-item\"><a href=\"#配列の情報を取るための関数\" data-toc-modified-id=\"配列の情報を取るための関数-4\"><span class=\"toc-item-num\">4&nbsp;&nbsp;</span>配列の情報を取るための関数</a></div><div class=\"lev1 toc-item\"><a href=\"#配列の操作\" data-toc-modified-id=\"配列の操作-5\"><span class=\"toc-item-num\">5&nbsp;&nbsp;</span>配列の操作</a></div><div class=\"lev1 toc-item\"><a href=\"#配列上の演算\" data-toc-modified-id=\"配列上の演算-6\"><span class=\"toc-item-num\">6&nbsp;&nbsp;</span>配列上の演算</a></div>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Arrays"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"ExecuteTime": {
"end_time": "2018-01-31T12:30:23.347000Z",
"start_time": "2018-01-31T03:30:21.993Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"3-element Array{String,1}:\n",
" \"Apple\" \n",
" \"Orange\"\n",
" \"Banana\""
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# まずは普通に配列を定義。\n",
"# この指定の仕方はPythonとも同じ。\n",
"fruits = [\"Apple\", \"Orange\", \"Banana\"]"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"ExecuteTime": {
"end_time": "2018-01-31T12:30:24.725000Z",
"start_time": "2018-01-31T03:30:24.034Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"5-element Array{Any,1}:\n",
" \"Apple\" \n",
" 1 \n",
" \"Orange\"\n",
" 2 \n",
" \"Banana\""
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 数字が混ざっていても大丈夫\n",
"fruits_num = [\"Apple\", 1, \"Orange\", 2, \"Banana\"]"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"ExecuteTime": {
"end_time": "2018-01-31T12:30:25.073000Z",
"start_time": "2018-01-31T03:30:24.719Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"\"Apple\""
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 要素の取得\n",
"# indexはPythonとは違って1始まりなので、注意。\n",
"fruits[1]"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"ExecuteTime": {
"end_time": "2018-01-31T12:30:26.256000Z",
"start_time": "2018-01-31T03:30:25.704Z"
}
},
"outputs": [
{
"ename": "LoadError",
"evalue": "\u001b[91mBoundsError: attempt to access 3-element Array{String,1} at index [0]\u001b[39m",
"output_type": "error",
"traceback": [
"\u001b[91mBoundsError: attempt to access 3-element Array{String,1} at index [0]\u001b[39m",
"",
"Stacktrace:",
" [1] \u001b[1mgetindex\u001b[22m\u001b[22m\u001b[1m(\u001b[22m\u001b[22m::Array{String,1}, ::Int64\u001b[1m)\u001b[22m\u001b[22m at \u001b[1m.\\array.jl:520\u001b[22m\u001b[22m"
]
}
],
"source": [
"# 0を指定するとエラーになる\n",
"fruits[0]"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"ExecuteTime": {
"end_time": "2018-01-31T12:30:27.917000Z",
"start_time": "2018-01-31T03:30:27.224Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"String[\"Apple\", \"Orange\", \"Banana\", \"Peach\"]\n",
"String[\"Apple\", \"Orange\", \"Banana\"]\n"
]
}
],
"source": [
"# pushとpopもできる\n",
"push!(fruits, \"Peach\")\n",
"println(fruits)\n",
"pop!(fruits)\n",
"println(fruits)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"ExecuteTime": {
"end_time": "2018-01-31T12:30:28.629000Z",
"start_time": "2018-01-31T03:30:28.625Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"3-element Array{String,1}:\n",
" \"Apple2\"\n",
" \"Orange\"\n",
" \"Banana\""
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 要素にアクセスして情報も更新できる\n",
"fruits[1] = \"Apple2\"\n",
"fruits"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 多次元配列"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"ExecuteTime": {
"end_time": "2018-01-31T12:30:33.312000Z",
"start_time": "2018-01-31T03:30:32.648Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"2-element Array{Array{String,1},1}:\n",
" String[\"Apple\", \"Orange\", \"Banana\"] \n",
" String[\"Apple\", \"Orange\", \"Banana\", \"Peach\"]"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# もちろん、これも普通にできる\n",
"fruits_2d = [[\"Apple\", \"Orange\", \"Banana\"], [\"Apple\", \"Orange\", \"Banana\", \"Peach\"]]"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"ExecuteTime": {
"end_time": "2018-01-31T12:30:34.618000Z",
"start_time": "2018-01-31T03:30:33.873Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"4×3 Array{Float64,2}:\n",
" 0.445258 0.587788 0.996786 \n",
" 0.522811 0.743046 0.00644533\n",
" 0.99362 0.325897 0.536397 \n",
" 0.831977 0.433696 0.300295 "
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 乱数で生成とかも。モジュールのインポートとかしなくていいのが、Pythonとの違いだなと笑\n",
"rand(4,3)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 配列の初期化\n",
"\n",
"ここでは、Arrayを作成するときに使う関数をまとめます。痒いところに手が届く関数が多くて素晴らしい…。\n",
"\n",
"【参考】\n",
"- [Multi-dimensional Arrays](https://docs.julialang.org/en/stable/manual/arrays/)\n",
"- [Arrays](https://docs.julialang.org/en/stable/stdlib/arrays/)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"ExecuteTime": {
"end_time": "2018-01-31T12:30:38.286000Z",
"start_time": "2018-01-31T03:30:37.081Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[0.0, 0.0, 0.0, 0.0, 0.0]\n",
"[0.0 0.0 0.0 0.0; 0.0 0.0 0.0 0.0]\n",
"Int8[0 0 0 0; 0 0 0 0]\n",
"[0.0 0.0 0.0 0.0; 0.0 0.0 0.0 0.0]\n"
]
}
],
"source": [
"# numpyとかで配列を初期化するときによく使うzeros\n",
"# 普通の1d-array\n",
"println(zeros(5))\n",
"\n",
"# 多次元配列も可能\n",
"println(zeros(2,4))\n",
"\n",
"# 型の指定もできる\n",
"println(zeros(Int8, 2,4))\n",
"\n",
"# 型の変換もできるみたい\n",
"# 出力が、「0 => 0.0」 となっているのに注目\n",
"zeros_array = zeros(Int8, 2,4)\n",
"println(zeros(zeros_array, Float64))"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"ExecuteTime": {
"end_time": "2018-01-31T12:30:39.083000Z",
"start_time": "2018-01-31T03:30:39.048Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[1.0, 1.0, 1.0, 1.0, 1.0]\n",
"[1.0 1.0 1.0 1.0; 1.0 1.0 1.0 1.0]\n",
"Int8[1 1 1 1; 1 1 1 1]\n",
"[1.0 1.0 1.0 1.0; 1.0 1.0 1.0 1.0]\n"
]
}
],
"source": [
"# onesもある。似たような感じで使える。\n",
"# 普通の1d-array\n",
"println(ones(5))\n",
"\n",
"# 多次元配列も可能\n",
"println(ones(2,4))\n",
"\n",
"# 型の指定もできる\n",
"println(ones(Int8, 2,4))\n",
"\n",
"# 型の変換もできる\n",
"ones_array = ones(Int8, 2,4)\n",
"println(ones(ones_array, Float64))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"上の関数以外にも似たものとして、`trues` とか `falses` とかがあるっぽく、似たような感じで使える"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"ExecuteTime": {
"end_time": "2018-01-31T12:30:42.128000Z",
"start_time": "2018-01-31T03:30:41.496Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"3×2 Array{Int64,2}:\n",
" 10 10\n",
" 10 10\n",
" 10 10"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 0や1, trueやfalse以外の値を入れたい場合は、fill関数を使うと良いっぽい。\n",
"fill(10, (3,2))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 配列の情報を取るための関数\n",
"\n",
"配列の長さとかサイズとかを配列を操作するときには見ると思うのですが、そのあたりの関数をまとめます。\n"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"ExecuteTime": {
"end_time": "2018-01-31T12:30:44.452000Z",
"start_time": "2018-01-31T03:30:44.448Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"2×3 Array{Float64,2}:\n",
" 1.0 1.0 1.0\n",
" 1.0 1.0 1.0"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# ここではこの配列を例にします\n",
"ones_2d = ones(2,3)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"ExecuteTime": {
"end_time": "2018-01-31T12:30:44.747000Z",
"start_time": "2018-01-31T03:30:44.608Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"2"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 配列のdimentionを取得\n",
"ndims(ones_2d)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"ExecuteTime": {
"end_time": "2018-01-31T12:30:45.027000Z",
"start_time": "2018-01-31T03:30:44.776Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"(Base.OneTo(2), Base.OneTo(3))"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# indexを取得する関数\n",
"indices(ones_2d)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"ExecuteTime": {
"end_time": "2018-01-31T12:30:45.029000Z",
"start_time": "2018-01-31T03:30:44.947Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"6"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 長さ、、、ではなくて、要素の数を取得する関数であることに注意。\n",
"# Pythonのlenとは違う\n",
"length(ones_2d)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"ExecuteTime": {
"end_time": "2018-01-31T12:30:46.806000Z",
"start_time": "2018-01-31T03:30:46.655Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"Base.OneTo(6)"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 要素へのインデックスをiterableな形で取得してくれる方法がある\n",
"# それが以下。\n",
"eachindex(ones_2d)"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"ExecuteTime": {
"end_time": "2018-01-31T12:30:46.921000Z",
"start_time": "2018-01-31T03:30:46.808Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1=>1.0\n",
"2=>1.0\n",
"3=>1.0\n",
"4=>1.0\n",
"5=>1.0\n",
"6=>1.0\n"
]
}
],
"source": [
"# こんな感じで呼び出せる。以下は、for文の例。\n",
"# ドキュメントを斜め読みした感じでは、早いらしい。\n",
"for iter in eachindex(ones_2d)\n",
" println(iter, \"=>\", ones_2d[iter])\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"ExecuteTime": {
"end_time": "2018-01-31T12:30:49.313000Z",
"start_time": "2018-01-31T03:30:49.288Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"6"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# non-zeroな要素の数を返してくれる関数。\n",
"# 以下だと、6と返ってくる\n",
"countnz(ones_2d)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 配列の操作\n",
"\n",
"reshapeや配列の結合など、配列に加える操作周りの方法。"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"ExecuteTime": {
"end_time": "2018-01-31T12:30:51.008000Z",
"start_time": "2018-01-31T03:30:50.993Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"4×4 Array{Float64,2}:\n",
" 1.0 1.0 1.0 1.0\n",
" 1.0 1.0 1.0 1.0\n",
" 1.0 1.0 1.0 1.0\n",
" 1.0 1.0 1.0 1.0"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# reshape\n",
"ones_1d = ones(16)\n",
"reshape(ones_1d, (4,4))"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"ExecuteTime": {
"end_time": "2018-01-31T12:30:51.275000Z",
"start_time": "2018-01-31T03:30:51.172Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"2×8 Array{Float64,2}:\n",
" 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0\n",
" 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 片方の次元だけ指定するパターンも可能\n",
"reshape(ones_1d, 2, :)"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"ExecuteTime": {
"end_time": "2018-01-31T12:30:51.578000Z",
"start_time": "2018-01-31T03:30:51.329Z"
}
},
"outputs": [
{
"ename": "LoadError",
"evalue": "\u001b[91mDimensionMismatch(\"array size 16 must be divisible by the product of the new dimensions (3, Colon())\")\u001b[39m",
"output_type": "error",
"traceback": [
"\u001b[91mDimensionMismatch(\"array size 16 must be divisible by the product of the new dimensions (3, Colon())\")\u001b[39m",
"",
"Stacktrace:",
" [1] \u001b[1m_throw_reshape_colon_dimmismatch\u001b[22m\u001b[22m\u001b[1m(\u001b[22m\u001b[22m::Array{Float64,1}, ::Tuple{Int64,Colon}\u001b[1m)\u001b[22m\u001b[22m at \u001b[1m.\\reshapedarray.jl:109\u001b[22m\u001b[22m",
" [2] \u001b[1m_reshape_uncolon\u001b[22m\u001b[22m at \u001b[1m.\\reshapedarray.jl:104\u001b[22m\u001b[22m [inlined]",
" [3] \u001b[1mreshape\u001b[22m\u001b[22m\u001b[1m(\u001b[22m\u001b[22m::Array{Float64,1}, ::Tuple{Int64,Colon}\u001b[1m)\u001b[22m\u001b[22m at \u001b[1m.\\reshapedarray.jl:97\u001b[22m\u001b[22m",
" [4] \u001b[1mreshape\u001b[22m\u001b[22m\u001b[1m(\u001b[22m\u001b[22m::Array{Float64,1}, ::Int64, ::Colon, ::Vararg{Colon,N} where N\u001b[1m)\u001b[22m\u001b[22m at \u001b[1m.\\reshapedarray.jl:96\u001b[22m\u001b[22m"
]
}
],
"source": [
"# でもちゃんとreshapeできないとだめ。\n",
"# 例えば、3とか指定するとだめ。\n",
"reshape(ones_1d, 3, :)"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"ExecuteTime": {
"end_time": "2018-01-31T12:30:51.742000Z",
"start_time": "2018-01-31T03:30:51.496Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"3×5 Array{Int64,2}:\n",
" 1 2 3 4 5\n",
" 6 7 8 9 10\n",
" 11 12 13 14 15"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# verticalな方向に結合する\n",
"a = [1 2 3 4 5]\n",
"b = [6 7 8 9 10; 11 12 13 14 15]\n",
"vcat(a, b)"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"ExecuteTime": {
"end_time": "2018-01-31T12:30:53.414000Z",
"start_time": "2018-01-31T03:30:53.312Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"5×2 Array{Int64,2}:\n",
" 1 6\n",
" 2 7\n",
" 3 8\n",
" 4 9\n",
" 5 10"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Horizontalな方向に結合する\n",
"a = [1; 2; 3; 4; 5;]\n",
"b = [6; 7; 8; 9; 10;]\n",
"hcat(a, b)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 配列上の演算"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"ExecuteTime": {
"end_time": "2018-01-31T12:30:55.686000Z",
"start_time": "2018-01-31T03:30:55.128Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[2 3 4 5 6]\n",
"[0 1 2 3 4]\n",
"[2 4 6 8 10]\n",
"[0.5 1.0 1.5 2.0 2.5]\n"
]
}
],
"source": [
"# 全体に1足したいとかはこれでできる。\n",
"a = [1 2 3 4 5]\n",
"println(a + 1)\n",
"println(a - 1)\n",
"println(a * 2)\n",
"println(a / 2)"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"ExecuteTime": {
"end_time": "2018-01-31T12:30:56.431000Z",
"start_time": "2018-01-31T03:30:55.311Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"3-element Array{Int64,1}:\n",
" 1\n",
" 3\n",
" 6"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 累積演算は以下のような感じ。\n",
"accumulate(+, [1,2,3])"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {
"ExecuteTime": {
"end_time": "2018-01-31T12:30:56.450000Z",
"start_time": "2018-01-31T03:30:55.480Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"3-element Array{Int64,1}:\n",
" 101\n",
" 103\n",
" 106"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 真ん中に値を挟むと、その値が最初の演算に使われる。\n",
"# 以下の例であれば、100+1が最初に出てくる。\n",
"accumulate(+, 100, [1,2,3])"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {
"ExecuteTime": {
"end_time": "2018-01-31T12:30:57.212000Z",
"start_time": "2018-01-31T03:30:57.184Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"3-element Array{Int64,1}:\n",
" 0\n",
" 0\n",
" -1"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"accumulate(min, 0, [1,2,-1])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"他にもたくさんあるが、ここまでで。他の例は[こちら](https://docs.julialang.org/en/stable/stdlib/arrays/)見れる。"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Julia 0.6.0",
"language": "julia",
"name": "julia-0.6"
},
"language_info": {
"file_extension": ".jl",
"mimetype": "application/julia",
"name": "julia",
"version": "0.6.0"
},
"latex_envs": {
"LaTeX_envs_menu_present": true,
"autocomplete": true,
"bibliofile": "biblio.bib",
"cite_by": "apalike",
"current_citInitial": 1,
"eqLabelWithNumbers": true,
"eqNumInitial": 1,
"hotkeys": {
"equation": "Ctrl-E",
"itemize": "Ctrl-I"
},
"labels_anchors": false,
"latex_user_defs": false,
"report_style_numbering": false,
"user_envs_cfg": false
},
"toc": {
"colors": {
"hover_highlight": "#DAA520",
"navigate_num": "#000000",
"navigate_text": "#333333",
"running_highlight": "#FF0000",
"selected_highlight": "#FFD700",
"sidebar_border": "#EEEEEE",
"wrapper_background": "#FFFFFF"
},
"moveMenuLeft": true,
"nav_menu": {
"height": "117px",
"width": "254px"
},
"navigate_menu": true,
"number_sections": true,
"sideBar": true,
"threshold": 4,
"toc_cell": true,
"toc_section_display": "block",
"toc_window_display": true,
"widenNotebook": false
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment