Python 和 C++ 是筆者喜歡并在使用的兩種編程語言。 Python 以其開發(fā)效率著稱,,而 C++ 運行效率無疑更高一籌,。 我們用一個小例子做下對比。 【題目】 已知一個數(shù)組,,請復(fù)制并輸出此數(shù)組的一份拷貝,。 我們分別用 C++ 和 Python 進行實現(xiàn)。 【C++ 版】 #include <vector> #include <iostream> #include <iterator> using namespace std;
int main() { vector<int> v1 = {1, 2, 3, 4, 5}; vector<int> v2; v2.assign(v1.begin(), v1.end()); copy(v2.begin(), v2.end(), ostream_iterator<int>(cout, " ")); return 0; } C++ 可以使用 STL 中的 vector 來表示一個數(shù)組。使用 vector 的 assign 函數(shù)就可以實現(xiàn)復(fù)制操作,,很簡單,。 但是,如果要將 vector 輸出,,除了使用 for 循環(huán)外,,我們需要借助 STL 中的 copy 算法,才可以實現(xiàn)簡短優(yōu)雅的輸出,,而這其中又牽涉到 ostream_iterator 這樣的并不經(jīng)常使用的特性,。 【Python 版】 alst = [1, 2, 3, 4, 5]
blst = [] blst.extend(alst) print(blst)
#更 Pythonic clst = [] clst[:] = alst print(clst) Python 代碼就簡單明了很多了。我們使用 list 來表示數(shù)組,,可使用 list 的 extend 方法來復(fù)制一個 list,。還可以使用切片語法實現(xiàn)復(fù)制。 當(dāng)然,,不像 C++ 中的 vector 只能存儲同一種類型的數(shù)據(jù),,Python list 可以混合存放任何類型的數(shù)據(jù)。的確方便高效,! 【結(jié)語】 復(fù)制并輸出一個數(shù)組,,Python 和 C++ 都可以使用短短兩行代碼來實現(xiàn)。 但是二者對于代碼編寫者的技能熟練度要求還是不同的,。從易用性來講,,Python 還是具有明顯優(yōu)勢的。 曾經(jīng)一句“PHP 是世界上最好的語言”就足以引起程序員之間的戰(zhàn)爭,,這種爭論其實是沒有必要的,。 每種語言各有所長,在不同的應(yīng)用場景下,,各自都有卓越的表現(xiàn),。 溫馨提示: 1. 如果感覺本文不錯,歡迎關(guān)注,、在看,、分享轉(zhuǎn)發(fā)。 |
|