Python学习
哈北儿
爱好读书健身,想一直以健康的身体做自己想做的事到死。
展开
-
Python实用黑科技——总汇
一直喜欢用Python写代码,虽然现在是个C+JAVA工程师,但“人生苦短,我用Python”的口号一直在心中。于是打算写一系列有关Python使用的实用技巧,这些技巧有些是牛人总结的,有些是自己想到的,希望存在这里可以对工作和进一步学习有帮助。 因为自己也是从2.x转到3.x的,个人自然倾向于用3.x的格式来书写,毕竟未来的趋势也应该是3.x的天下(2.x阵营的童鞋勿喷)。原创 2017-08-27 09:16:16 · 2038 阅读 · 0 评论 -
Python实用黑科技——解包元素(1)
欢迎使用Markdown编辑器写博客需求: 很多时候手上已经有了一个具有n个元素的列表或者元组,你打算把这些元素单独取出来(解包)放入n个变量组成的集合(这里的集合和Python自己的set不同)中。 方法: 显然,最好的办法就是直接用赋值语句(=)来做这件事,唯一需要注意的就是,新变量的个数一定要和原列表、元组里面的元素个数相同:In [1]: p = (4, 6,原创 2017-08-27 09:36:42 · 878 阅读 · 0 评论 -
Python实用黑科技——解包元素(2)
需求: 前面的文章讲的是使用变量的个数需要和迭代器数据变量的元素个数相同的方法,但更多的时候确实不想根据元素个数n来定义相应多的变量,而是希望用较少的变量(def drop_first_last(grades): def avg(my_list): return sum(my_list) / len(my_list) first, *middle, last =原创 2017-08-27 10:36:30 · 345 阅读 · 0 评论 -
Python实用黑科技——找出最大/最小的n个元素
需求: 快速的获取一个列表中最大/最小的n个元素。方法: 最简便的方法是使用heapq模组的两个方法nlargest()和nsmallest(),例如:In [1]: import heapqIn [2]: nums = [1, 0, -23, 45, 34, -11, 0, 2, 99, 103, -78]In [3]: print(heapq.nlargest(3, nums))[原创 2017-08-27 11:04:28 · 5430 阅读 · 0 评论 -
Python实用黑科技——找出序列里面出现次数最多的元素
需求: 如何从一个序列中快速获取出现次数最多的元素。方法: 利用collections.Counter类可以解决这个问题,特别是他的most_common()方法更是处理此问题的最快途径。比如,现在有一个单词的序列,你想快速获取哪个单词出现频率最高,就可以这么做:In [22]: words = ['look', 'into', 'my', 'eyes', 'look', 'into',原创 2017-09-09 09:38:47 · 6140 阅读 · 0 评论 -
Python实用黑科技——以某个字段进行分组
需求: 当前有个字典实例,你想以某个字段比如”日期”对整个字典里面的元素进行分组。方法: itertools.groupby()函数是专门用来干这个活的。请看下面这个例子,这里有一个列表构成的字典,你想按照日期来对列表进行分组,可以这么做:In [42]: from operator import itemgetterIn [43]: from itertools import groupb原创 2017-09-09 10:35:30 · 6672 阅读 · 1 评论