Python 代码阅读(第 13 篇):检测列表中的元素是否都一样
本篇阅读的代码实现了检测列表中的元素是否都一样的逻辑。
本篇阅读的代码片段来自于30-seconds-of-python。
all_equal
复制代码
all_equal
函数接收一个列表,并判断列表中的各个元素是否都一样,如果一样就返回True
否则返回false
。
该函数采用的判断方式比较巧妙,将原列表去除第一个元素之后的子列表和原列表去除最后一个元素子列表进行对比。也就是原列表的元素进行了错位比较,元素从头到尾依次进行比较。
复制代码
列表切片
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
指的是列表最后一个元素。
版权声明: 本文为 InfoQ 作者【Felix】的原创文章。
原文链接:【http://xie.infoq.cn/article/e86acc968b5f378f64e9be5b1】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论