关于List和String有意思的几个应用

 

关于List和String有意思的几个应用

1. List:all_equal

功能:验证列表中的所有元素是否是都一样的。

解析:该技巧是使用[1:] 和 [:-1] 来比较所给定列表中的所有元素。

举例:

 

2. List:all_unique

功能:如果列表所有值都是唯一的,返回 True,否则 False

解析:在给定列表上使用set()方法去重,一次来比较它和原列表的长度。

举例:

3. List:difference功能实现:返回两个iterables间的差异。

解读:创建b的集合,使用a的列表推导式保留不在_b中的元素。

举例:

4. List:flatten

功能:一次性的整合列表。

解析:使用嵌套的列表提取子列表中的每个值。

举例:

5. List:shuffle

功能:将列表元素顺序随机打乱。

解析:使用(Fisher-Yates算法)重新排序列表元素。

Fisher-Yates

_Yates的原理就是把从1到n的顺序候选集随机打乱,

做法就是

第1次从1-n的候选集合随机选个数,拿出此数,并把它从候选集合剔除(候选集合n-1)。

第2次从1-n-1的候选集合随机选个数,拿出此数,并把它从候选集合剔除(候选集合n-2)。

第2次从1-n-2的候选集合随机选个数,拿出此数,并把它从候选集合剔除(候选集合n-3)。

以此类推

 举例:

6. String:byte_size

功能:返回字符串的字节数。

解析:使用string.encode(‘utf-8’)解码给定字符串,返回长度

举例:

猜你喜欢

转载自www.cnblogs.com/oldfish123/p/11825292.html