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 分发包中添加额外文件的方法

    Python 分发包中添加额外文件的方法

    这篇文章主要介绍了Python 分发包中添加额外文件的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • python实现复制大量文件功能

    python实现复制大量文件功能

    这篇文章主要为大家详细介绍了python实现复制大量文件功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • 一行Python3代码实现解析地址信息

    一行Python3代码实现解析地址信息

    在日常数据处理的过程中,有时候拿到手的是完整的地址信息,如果需要从地址信息中解析出相应的各级行政单元名称,方式有很多,而今天要介绍的方式只需要一行代码即可快速实现,快跟随小编一起学习一下吧
    2022-05-05
  • Python中元组拆包的用法小结

    Python中元组拆包的用法小结

    本文主要介绍了Python中元组拆包的用法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-11-11
  • Django csrf校验的实现

    Django csrf校验的实现

    这篇文章主要介绍了Django csrf校验的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • Python使用ffmpeg实现mp4与m3u8相互转换

    Python使用ffmpeg实现mp4与m3u8相互转换

    FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序,它提供了录制、转换以及流化音视频的完整解决方案,下面小编就和大家详细介绍一下吧
    2025-11-11
  • Python安装docx依赖包教程

    Python安装docx依赖包教程

    这篇文章主要介绍了Python安装docx依赖包教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • python如何利用cv2模块读取显示保存图片

    python如何利用cv2模块读取显示保存图片

    cv2模块还是一个可以进行跨平台的视觉库,可以进行人脸识别,经常在机器上被广泛应用,这篇文章主要介绍了python利用cv2读取显示保存图片的相关资料,需要的朋友可以参考下
    2021-06-06
  • Python+Matplotlib实现给图像添加文本标签与注释

    Python+Matplotlib实现给图像添加文本标签与注释

    这篇文章主要为大家分享一下如何使用python+matplotlib给绘制的图像添加文本标签与注释。文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-04-04
  • 使用Python高效读取ZIP压缩文件中的JSON数据

    使用Python高效读取ZIP压缩文件中的JSON数据

    本文将详细介绍如何使用Python快速高效地读取ZIP压缩文件中的UTF-8编码JSON文件,并将其转换为Pandas DataFrame和PySpark DataFrame,感兴趣的小伙伴可以了解下
    2025-10-10

最新评论