Python对象的list如何快速按照属性查找

 更新时间:2023年11月10日 15:11:33   作者:bouIevard  
这篇文章主要介绍了Python对象的list如何快速按照属性查找问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Python对象的list快速按照属性查找

比如在

class demo():
    a = 0
    b = 0

这一个类的元素组成的列表demo_list中查找元素,使得a = x

朴素的方法是遍历,如果a有序还可二分等

但是时间复杂度最小也就nlog(n)

在空间足够大的情况下,其实可以用一个dict存储demo中元素a的值。其中dict的key = a, value = 对应的下标

dict_a = {}
i = 0
for demo in list_demo:
    dict_a['demo.a'] = i
    i += 1
return dict_a.get(x, default=-1)

这样就可以对a进行O(1)的查找(因为dict是一个哈希 有key可以直接查表找value 倘若没有返回default 默认是None,当然缺点是空间浪费)

python列表list属性

list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
list2 = [‘aaa', 1, 3.14, ‘love you', [1, 2, 3]]
  • 判断数据类型
type(list1)
  • 取列表元素成员数
len(list1)
  • 后面插入单个元素
list1.append(1)
  • 插入多个元素
list1.extend([2, 1])
  • 在列表指定位置插入指定数值
list1.insert(2, 8)
  • 列表元素的替换
list1[1] = 0
  • 删除指定位置的元素
list1.pop(2)
  • 删除列表的指定元素
list1.remove(5)
  • 清空列表的所有元素,列表还存在
list1.clear()
  • 删除列表
del (list1)
  • 查找成员的下标,后面是下标范围
list1.index(9, 2, 8)
  • 统计成员出现的次数
list1.count(5)
  • 返回列表中的最大值
max(list1)
  • 返回列表中的最小值
min(list1)
  • 颠倒所有元素
list1.reverse()
  • 列表排序 False 升序
list1.sort(reverse=True)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python使用virtualenv创建虚拟环境的详细步骤

    Python使用virtualenv创建虚拟环境的详细步骤

    这篇文章主要介绍了Python使用virtualenv创建虚拟环境的详细步骤,本文分步骤给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-05-05
  • Python进程池log死锁问题分析及解决

    Python进程池log死锁问题分析及解决

    最近线上运行的一个python任务负责处理一批数据,为提高处理效率,使用了python进程池,并会打印log,本文给大家分析了Python进程池log死锁问题以及解决方法,需要的朋友可以参考下
    2024-01-01
  • 详解python文件的操作和异常的处理

    详解python文件的操作和异常的处理

    这篇文章主要为大家介绍了python文件的操作和异常的处理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • 使用Pycharm创建一个Django项目的超详细图文教程

    使用Pycharm创建一个Django项目的超详细图文教程

    Django是比较经典的Python web框架,最近刚好在项目中用到了Django,所以下面这篇文章主要给大家介绍了关于使用Pycharm创建一个Django项目的超详细图文教程,文中介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • python面向对象_详谈类的继承与方法的重载

    python面向对象_详谈类的继承与方法的重载

    下面小编就为大家带来一篇python面向对象_详谈类的继承与方法的重载。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Python使用matplotlib绘制随机漫步图

    Python使用matplotlib绘制随机漫步图

    这篇文章主要为大家详细介绍了使用Python生成随机漫步数据,使用matplotlib绘制随机漫步图,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • Python 二进制字节流数据的读取操作(bytes与bitstring)

    Python 二进制字节流数据的读取操作(bytes与bitstring)

    本文主要介绍了Python 二进制字节流数据的读取操作(bytes与bitstring),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • python共轭梯度法特征值迭代次数讨论

    python共轭梯度法特征值迭代次数讨论

    这篇文章主要介绍了python共轭梯度法特征值迭代次数讨论,想了解共轭梯度法的同学,需要着重看一下
    2021-04-04
  • Pytorch中关于RNN输入和输出的形状总结

    Pytorch中关于RNN输入和输出的形状总结

    这篇文章主要介绍了Pytorch中关于RNN输入和输出的形状总结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Python设计模式之享元模式原理与用法实例分析

    Python设计模式之享元模式原理与用法实例分析

    这篇文章主要介绍了Python设计模式之享元模式原理与用法,结合实例形式较为详细的分析了享元模式的相关概念、原理、定义及使用方法,需要的朋友可以参考下
    2019-01-01

最新评论