首页 > temp > 简明python教程 >
-
10个实用并很有意思的Python小技巧
1. List:all_equal
功能实现:检验一个列表中的所有元素是否都一样。
解读:使用[1:] 和 [:-1] 来比较给定列表的所有元素。

举例:

2. List:all_unique
功能实现:如果列表所有值都是唯一的,返回 True,否则 False
解读:在给定列表上使用集合set()去重,比较它和原列表的长度。

举例:

3. List:bifurcate
功能实现:将列表值分组。如果在filter的元素是True,那么对应的元素属于第一个组;否则属于第二个组。
解读:使用列表推导式和enumerate()基于filter元素到各组。

举例:

4. List:difference
功能实现:返回两个iterables间的差异。
解读:创建b的集合,使用a的列表推导式保留不在_b中的元素。

举例:

5. List:flatten
功能实现:一次性的整合列表。
解读:使用嵌套的列表提取子列表的每个值。

举例:

6. Math:digitize
功能实现:将一个数分解转换为个位数字。
解读:将n字符化后使用map()函数结合int完成转化

举例:

7. List:shuffle
功能实现:将列表元素顺序随机打乱。
解读:使用Fisher-Yates算法重新排序列表元素。

举例:

8. Math:clamp_number
功能实现:将数字num钳在由a和b边界值规定的范围中。
解读:如果num落尽范围内,返回num;否则,返回范围内最接近的数字。

举例:

9. String:byte_size
功能实现:返回字符串的字节数。
解读:使用string.encode(‘utf-8’)解码给定字符串,返回长度。

举例:

10. Math:gcd
功能实现:计算几个数的最大公因数。
解读:使用reduce()和math.gcd在给定列表上实现。

举例:
