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]]
- 判斷數(shù)據(jù)類型
type(list1)
- 取列表元素成員數(shù)
len(list1)
- 后面插入單個元素
list1.append(1)
- 插入多個元素
list1.extend([2, 1])
- 在列表指定位置插入指定數(shù)值
list1.insert(2, 8)
- 列表元素的替換
list1[1] = 0
- 刪除指定位置的元素
list1.pop(2)
- 刪除列表的指定元素
list1.remove(5)
- 清空列表的所有元素,列表還存在
list1.clear()
- 刪除列表
del (list1)
- 查找成員的下標,后面是下標范圍
list1.index(9, 2, 8)
- 統(tǒng)計成員出現(xiàn)的次數(shù)
list1.count(5)
- 返回列表中的最大值
max(list1)
- 返回列表中的最小值
min(list1)
- 顛倒所有元素
list1.reverse()
- 列表排序 False 升序
list1.sort(reverse=True)
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python使用virtualenv創(chuàng)建虛擬環(huán)境的詳細步驟
這篇文章主要介紹了Python使用virtualenv創(chuàng)建虛擬環(huán)境的詳細步驟,本文分步驟給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧2024-05-05
使用Pycharm創(chuàng)建一個Django項目的超詳細圖文教程
Django是比較經典的Python web框架,最近剛好在項目中用到了Django,所以下面這篇文章主要給大家介紹了關于使用Pycharm創(chuàng)建一個Django項目的超詳細圖文教程,文中介紹的非常詳細,需要的朋友可以參考下2022-08-08
Python 二進制字節(jié)流數(shù)據(jù)的讀取操作(bytes與bitstring)
本文主要介紹了Python 二進制字節(jié)流數(shù)據(jù)的讀取操作(bytes與bitstring),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-03-03

