Python 代码浏览合集介绍:为什么不举荐 Python 初学者间接看我的项目源码
本篇浏览的代码实现了检测列表中的元素是否都一样的逻辑。
本篇浏览的代码片段来自于 30-seconds-of-python。
all_equal
def all_equal(lst):
return lst[1:] == lst[:-1]
# EXAMPLES
all_equal([1, 2, 3, 4, 5, 6]) # False
all_equal([1, 1, 1, 1]) # True
all_equal
函数接管一个列表,并判断列表中的各个元素是否都一样,如果一样就返回 True
否则返回false
。
该函数采纳的判断形式比拟奇妙,将原列表去除第一个元素之后的子列表和原列表去除最初一个元素子列表进行比照。也就是原列表的元素进行了错位比拟,元素从头到尾顺次进行比拟。
[a[0], a[1], ... a[n-1]] == [a[1], a[2], ... a[n]]
a[0] == a[1], a[1] == a[2], ... a[n-1] == a[n]
a[0] == a[1] == a[2] ... a[n-1] == a[n]
列表切片
lst[1:]
和 lst[:-1]
是列表切片的模式。lst[1:]
示意从列表 lst
下标为 1
的元素开始始终到列表 lst
最初一个元素的子列表。lst[:-1]
则是从第一个元素(下标为0
)开始直至列表的倒数第二个元素。
一般而言列表切片的模式是 lst[a:b]
。a
和b
代表了列表的索引。lst[a:b]
返回的子列表从索引 a
开始,直到索引 b
的前一个元素进行。省略 a
或者 b
代表了“从头开始”或“直到列表结尾”。lst[:]
会返回整个列表的切片。正数索引返回离列表开端相应间隔的元素,-1
指的是列表最初一个元素。