Python技巧之检查列表所有元素是否相等

Stella981
• 阅读 582

方法有三:

  1. 将列表构造为集合,再判断长度

  2. 用一个元素与所有元素比较

  3. 比较列表第一个元素的个数和列表长度

    Pythonic ways of checking if all

    items in a list are equal:

    lst = ['a', 'a', 'a']

    len(set(lst)) == 1 True

    all(x == lst[0] for x in lst) True

    lst.count(lst[0]) == len(lst) True

    I ordered those from "most Pythonic" to "least Pythonic"

    and "least efficient" to "most efficient".

    The len(set()) solution is idiomatic, but constructing

    a set is less efficient memory and speed-wise.

三个方法的排序,语言地道性由高到低,效率由低到高。构造一个集合就是用内存换速度的。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
java将前端的json数组字符串转换为列表
记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
CuterCorley CuterCorley
3年前
Python 列表 使用技巧
@toc1.列表表达式与列表排序列表中的元素也是可迭代的对象如列表、元组等时,要根据这些元素的某个子元素对列表排序,常规排序方式失效,需要用sorted()函数并指定key。题目:输入一组数到列表nums,请找到列表中任意两个元素相加能够等于9的元素,形成一个元组,使其小数在前大数在后,如:(2,7),(1,8)。重复的元组元素只保留一个,结
Stella981 Stella981
3年前
Redis 列表(List)
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)一个列表最多可以包含2321个元素(4294967295,每个列表超过40亿个元素)。实例redis127.0.0.1:6379LPUSHw3ckeyredis(integer)1
Stella981 Stella981
3年前
Python+Selenium自动化篇
本篇文字主要学习selenium定位页面元素的集中方法,以百度首页为例子。0.元素定位方法主要有:id定位:find\_element\_by\_id('')name定位:find\_element\_by\_name('')class定位:find\_element\_by\_class\_name(''
Stella981 Stella981
3年前
Python之time模块的时间戳、时间字符串格式化与转换
Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。关于时间戳的几个概念时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。时间元组(struct_time),包含9个元素。 time.struct_time(tm_y
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Stella981 Stella981
3年前
Python3中的列表用法,看这一篇就够了
类似C语言中的列表用法\创建:列表使用中括号表示,内部元素使用逗号隔开,元素的数据类型允许不一致,允许多层嵌套name