2018年8月26日 星期日

Python 排序 (sort)

Python裡的排序有很多方法,在這邊歸納整一下。最基本的就是內建的sort()sorted()了。要注意的是兩者不大一樣喔。sort()是當場就直接了斷排序了,會改變本來的資料,sorted()是回傳排序後的資料,不影響舊資料:

numpy裡面也有sort函式,好處是速度快,另外跟sorted()一樣,不會改變原來資料:

如果資料是陣列的話,另一個優點是可指定陣列排列的方向:


2018年8月25日 星期六

Ipython特色與magic command

Ipython是Interactive Python (http://ipython.org )的簡寫,是一個超強的python開發環境,也是交談式控制台,其中大家很喜歡的Jupyter Notebook 或是新版Jupyter Lab粗略來說就是Ipython的網頁版,其中Ipython有不少好用的magic command可以幫助程式的開發,這篇就是簡單的筆記一下Ipython的特色與Ipython裡常用的magic command(魔術命令)。

?  (help)
就是不懂或忘記程式怎使用的求救命令,會顯示指令的docstring。
使用時只要在指令後面加上"?"就可:

自己的function也可以:
是不是超神奇!!
另外外速鍵(Shift + Tab)也是可以的

?? (原始碼)
不多說,就是給你看看原始碼,不過你可能會發現,很多結果跟"?"是一樣的,因為不是Ipython裡寫的。

magic command主要都是肥宅喜歡的符號"%"開頭的。

%time
測量單一行指令的時間
%timeit
重複測量指令的時間 (執行幾次取平均,所以準確率高)

多行的程式可以嗎?
當然可以,就兩個%符號就行"%%" (肥宅們不要太興奮了!!)

Shell命令:
在Ipython中也可以直接執行shell的指令喔,不用視窗一直換來換去的了。
用棒子就可啦: "!"

真是cool!!








2018年8月12日 星期日

VirtualBox與網路設定

最近在玩VirtualBox(版本 5.2.16 r123759 (Qt5.6.2)),希望能架設虛擬的電腦,其中特別是網路的設定讓我很困惑,爬了很多文,搞了很久才解決,不確定是否是很好的解決辦法,不過還是筆記一下。

我是裝Win 10的虛擬機,第一個問題就是Password,預設的passoword是"Passw0rd!",注意!就是o改成0啦,真是奇葩!!

接下來是希望能裝兩台虛擬機在同一個網路上,原本大致上都能work,但怪的是兩台虛擬機有同樣的ip,這就有點棘手,因為很多連線動作不能做。最後發現不能單單選定NAT,讓VirtualBox自動幫我們設定,所以我們必須先從VirtualBox(VB)管理員的"檔案"中選取"喜好設定",之後選擇"網路",如下面的畫面,點選右上角小小綠色的方塊,按一下就會有新的NAT網路出現:

之後,回到各個虛擬機本身的網路設定,記得不要單選NAT,要選擇NAT網路,下方就會自動顯現出我們剛剛設定的選項名稱,之後就完成網路設定啦,兩台虛擬機的ip就會不同。