新聞中心
[[392990]]

成都創(chuàng)新互聯(lián)專注于新民企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),成都做商城網(wǎng)站。新民網(wǎng)站建設(shè)公司,為新民等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站開發(fā),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
Python 和 C++ 是筆者喜歡并在使用的兩種編程語(yǔ)言。
Python 以其開發(fā)效率著稱,而 C++ 運(yùn)行效率無(wú)疑更高一籌。
我們用一個(gè)小例子做下對(duì)比。
【題目】
已知一個(gè)數(shù)組,請(qǐng)復(fù)制并輸出此數(shù)組的一份拷貝。
我們分別用 C++ 和 Python 進(jìn)行實(shí)現(xiàn)。
【C++ 版】
- #include
- #include
- #include
- using namespace std;
- int main()
- {
- vector
v1 = {1, 2, 3, 4, 5}; - vector
v2; - v2.assign(v1.begin(), v1.end());
- copy(v2.begin(), v2.end(), ostream_iterator
(cout, " ")); - return 0;
- }
C++ 可以使用 STL 中的 vector 來(lái)表示一個(gè)數(shù)組。使用 vector 的 assign 函數(shù)就可以實(shí)現(xiàn)復(fù)制操作,很簡(jiǎn)單。
但是,如果要將 vector 輸出,除了使用 for 循環(huán)外,我們需要借助 STL 中的 copy 算法,才可以實(shí)現(xiàn)簡(jiǎ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 代碼就簡(jiǎn)單明了很多了。我們使用 list 來(lái)表示數(shù)組,可使用 list 的 extend 方法來(lái)復(fù)制一個(gè) list。還可以使用切片語(yǔ)法實(shí)現(xiàn)復(fù)制。
當(dāng)然,不像 C++ 中的 vector 只能存儲(chǔ)同一種類型的數(shù)據(jù),Python list 可以混合存放任何類型的數(shù)據(jù)。的確方便高效!
【結(jié)語(yǔ)】
復(fù)制并輸出一個(gè)數(shù)組,Python 和 C++ 都可以使用短短兩行代碼來(lái)實(shí)現(xiàn)。
但是二者對(duì)于代碼編寫者的技能熟練度要求還是不同的。從易用性來(lái)講,Python 還是具有明顯優(yōu)勢(shì)的。
曾經(jīng)一句“PHP 是世界上最好的語(yǔ)言”就足以引起程序員之間的戰(zhàn)爭(zhēng),這種爭(zhēng)論其實(shí)是沒有必要的。
每種語(yǔ)言各有所長(zhǎng),在不同的應(yīng)用場(chǎng)景下,各自都有卓越的表現(xiàn)。
分享題目:復(fù)制并輸出一個(gè)“數(shù)組”,Python和C++分別需要幾步?
網(wǎng)頁(yè)URL:http://m.fisionsoft.com.cn/article/dhipcsc.html


咨詢
建站咨詢
