本文通过 13 个案例,提高对它们的实际运用能力。
大家不妨动手敲起来,真正体会如何使用 Python 中最常用的两个类型:list 和 tuple。
下面个别案例的实现方法,可能未必是最高效的,主要为了有针对性地练习如何使用 list 和 tuple。
1. 判断 list 内有无重复元素
is_duplicated,使用 list 封装的 count 方法,依次判断每个元素 x 在 list 内的出现次数。
如果大于 1,则立即返回 True,表示有重复。
如果完成遍历后,函数没返回,表明 list 内没有重复元素,返回 False。
In [1]: def is_duplicated(lst):
...: for x in lst:
...: if lst.count(x) > 1: # 判断 x 元素在 lst 中的出现次数
...: return True
...: return False
调用 is_duplicated 方法:
In [2]: a = [1, -2, 3, 4, 1, 2]
...: print(is_duplicated(a))
True
以上方法实现不简洁,借助 set 判断更方便:
def is_duplicated(lst):
return len(lst) != len(set(lst))
2. 列表反转
一行代码实现列表反转,非常简洁。
-
[::-1]
,这是切片的操作。 -
[::-1]
生成逆向索引(负号表示逆向),步长为 1 的切片。
所以,最后一个元素一直数到第一个元素。这样,不正好实现列表反转吗?
In [4]: def reverse(lst):
...: return lst[::-1]
调用 reverse: