Python处理数据,python大法好
由于找实习,要学习python处理数据,python连接mysql,python读写文件,python读写xlsx文件,这些只要引入了相关的包,就非常容易,处理过程非常清晰。模块如果封装的好,没怎么学过编程的人也很容易上手。
就把python当做自行车用,用脚本处理一些重复性的工作非常便捷,但程序就是写不长,但是这些脚本已经能够完成我们的工作了。另外,pycharm真的很好用,不仅体现在代码自动提示,还在安装外部库时非常方便。
看一下python写的快速排序:
1 2 3 4 5 6 7 | def quicksort(arr): if len (arr) < 2 : return arr else : min = [x for x in arr[ 1 :] if x < arr[ 0 ]] max = [x for x in arr[ 1 :] if x > = arr[ 0 ]] return quicksort( min ) + [arr[ 0 ]] + quicksort( max ) |
看一下java写的快速排序:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | public class Main{ public static void main(String[] args) throws IOException{ InputStreamReader in = new InputStreamReader(System. in ); BufferedReader br = new BufferedReader( in ); int num = Integer.parseInt(br.readLine()); int [] arr = new int [num]; String[] res = br.readLine().split( " " ); for ( int i = 0 ; i < num; i + + ) { arr[i] = Integer.parseInt(res[i]); } quickSort(arr, 0 , num - 1 ); for ( int i = 0 ; i < num; i + + ) { System.out. print (arr[i] + " " ); } br.close(); } / / 闫总快排模板 v.v public static void quickSort( int [] q, int l, int r) { if (l > = r) return ; int x = q[l + r>> 1 ]; / / Define positions of two pointers int i = l - 1 ; int j = r + 1 ; while (i < j) { do i + + ; while (q[i] < x); do j - - ; while (q[j] > x); / / do Swap if (i < j) { int temp = q[i]; q[i] = q[j]; q[j] = temp; } } quickSort(q, l, j); quickSort(q, j + 1 , r); } } 作者:unipie 链接:https: / / www.acwing.com / solution / content / 5996 / 来源:AcWing 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 |
看看java写的,i++, j++,自己都蒙圈了,c++也要考虑边界条件。
为什么python能够这么简单呢?在于python中数组强大的抽象。java/c++也可以开辟额外空间,不考虑边界问题,但是代码就变长了。python帮忙我们屏蔽了底层操作,提供了很好的抽象。在快速开发的时代,python的这用优势还是很明显的。
参考博客:快速排序算法的简单理解
日进有功
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?