作者:ItRefer研发参考来源:python学与思
Python和C++是笔者喜欢并在使用的两种编程语言。
Python以其开发效率著称,而C++运行效率无疑更高一筹。
我们用一个小例子做下对比。
已知一个数组,请复制并输出此数组的一份拷贝。
我们分别用C++和Python进行实现。
#includevector#includeiostream#includeiteratorusingnamespacestd;intmain(){vectorintv1={1,2,3,4,5};vectorintv2;v2.assign(v1.begin(),v1.end());copy(v2.begin(),v2.end(),ostream_iteratorint(cout,));return0;}
C++可以使用STL中的vector来表示一个数组。使用vector的assign函数就可以实现复制操作,很简单。
但是,如果要将vector输出,除了使用for循环外,我们需要借助STL中的copy算法,才可以实现简短优雅的输出,而这其中又牵涉到ostream_iterator这样的并不经常使用的特性。
alst=[1,2,3,4,5]blst=[]blst.extend(alst)print(blst)#更Pythonicclst=[]clst[:]=alstprint(clst)
Python代码就简单明了很多了。我们使用list来表示数组,可使用list的extend方法来复制一个list。还可以使用切片语法实现复制。
当然,不像C++中的vector只能存储同一种类型的数据,Pythonlist可以混合存放任何类型的数据。的确方便高效!
复制并输出一个数组,Python和C++都可以使用短短两行代码来实现。
但是二者对于代码编写者的技能熟练度要求还是不同的。从易用性来讲,Python还是具有明显优势的。
曾经一句“PHP是世界上最好的语言”就足以引起程序员之间的战争,这种争论其实是没有必要的。
每种语言各有所长,在不同的应用场景下,各自都有卓越的表现。