复制并输出一个“数组”,Python 和 C++ 分别需要几步?

开发 前端
Python 和 C++ 是笔者喜欢并在使用的两种编程语言。Python 以其开发效率著称,而 C++ 运行效率无疑更高一筹。

[[392990]]

Python 和 C++ 是笔者喜欢并在使用的两种编程语言。

Python 以其开发效率著称,而 C++ 运行效率无疑更高一筹。

我们用一个小例子做下对比。

【题目】

已知一个数组,请复制并输出此数组的一份拷贝。

我们分别用 C++ 和 Python 进行实现。

【C++ 版】

  1. #include <vector> 
  2. #include <iostream> 
  3. #include <iterator> 
  4. using namespace std; 
  5.  
  6. int main() 
  7.     vector<int> v1 = {1, 2, 3, 4, 5}; 
  8.      
  9.     vector<int> v2; 
  10.     v2.assign(v1.begin(), v1.end()); 
  11.     copy(v2.begin(), v2.end(), ostream_iterator<int>(cout, " ")); 
  12.      
  13.     return 0; 

C++ 可以使用 STL 中的 vector 来表示一个数组。使用 vector 的 assign 函数就可以实现复制操作,很简单。

但是,如果要将 vector 输出,除了使用 for 循环外,我们需要借助 STL 中的 copy 算法,才可以实现简短优雅的输出,而这其中又牵涉到 ostream_iterator 这样的并不经常使用的特性。

【Python 版】

  1. alst = [1, 2, 3, 4, 5] 
  2.  
  3. blst = [] 
  4. blst.extend(alst) 
  5. print(blst) 
  6.  
  7. #更 Pythonic 
  8. clst = [] 
  9. clst[:] = alst 
  10. print(clst) 

Python 代码就简单明了很多了。我们使用 list 来表示数组,可使用 list 的 extend 方法来复制一个 list。还可以使用切片语法实现复制。

当然,不像 C++ 中的 vector 只能存储同一种类型的数据,Python list 可以混合存放任何类型的数据。的确方便高效!

【结语】

复制并输出一个数组,Python 和 C++ 都可以使用短短两行代码来实现。

但是二者对于代码编写者的技能熟练度要求还是不同的。从易用性来讲,Python 还是具有明显优势的。

曾经一句“PHP 是世界上最好的语言”就足以引起程序员之间的战争,这种争论其实是没有必要的。

 

每种语言各有所长,在不同的应用场景下,各自都有卓越的表现。

 

责任编辑:武晓燕 来源: python学与思
相关推荐

2022-04-28 13:56:10

元宇宙虚拟交易NFT

2023-01-02 18:15:42

PythonC++模块

2011-09-16 10:00:56

C++

2021-05-28 18:12:51

C++设计

2018-05-30 15:01:45

语言框架Java

2018-08-10 09:00:50

PythonJavaPHP

2019-10-29 05:47:15

CC++Python

2010-01-28 13:45:06

C++数组

2019-06-27 09:50:49

高性能秒杀系统

2013-07-18 09:58:18

C++程序员

2010-01-20 10:19:55

C++数组

2011-05-18 17:56:38

C#C++

2022-06-27 09:54:38

编程语言JavaC++

2020-03-17 14:21:39

数据平台架构

2009-09-02 13:15:23

C#数组复制

2022-09-08 06:23:37

C++HTTP 服务器

2024-03-13 13:53:10

C++程序开发

2021-10-27 11:29:32

框架Web开发

2013-08-26 11:08:43

微软鲍尔默

2021-11-30 08:26:59

C++设计模式
点赞
收藏

51CTO技术栈公众号