python 集合轉成列表 python 集合

2021-10-12 19:04:13 字數 1135 閱讀 7195

python 集合 set

1、什麼是集合

集合是一系列無序的、唯一的元素組合。

2、集合的基礎

集合的實現也是依賴雜湊表的,但是在他們的雜湊表裡面存放的只有元素的引用。

通過集合圖中集合b和集合a呼叫__sizeof__()的方法可以驗證這一點,集合中存放的只是元素的引用,和元素本身無關。

3、集合與列表的比較

和列表一樣,集合也可以存放不同型別的元素,但是因為集合的實現是依賴雜湊表的,所以集合中的元素必須是可雜湊的對像,列表則無此限制。

相比於列表,集合的刪除和新增時間複雜度都是o(1),而列表除了在末尾進行增刪操作時間複雜度是o(1),在其他位置進行增刪操作都涉及後面元素的移動,在那個位置進行增刪操作概率一樣,時間複雜度可以這麼計算:1/n*(1+2+3+...+n)=(n+1)/2=o(n)。

基於雜湊實現的集合,又有點也有缺點,

a.集合不支援索引查詢,

b.集合很消耗記憶體

對於列表和集合我們都可以通過 in來判斷乙個元素是不是在列表或者集合中,但是兩個的時間複雜度相差很多,對於集合,時間複雜度就是o(1),因為集合是基於雜湊的,可以直接查詢,列表底層是類似於線性表,想要判斷乙個元素是否在列表中,只能從頭開始遍歷。從圖中可以看出,當要查詢的元素位於列表靠後為的時候,所用的時間會成倍增長,所以在工作中,如果要經常判斷乙個元素是否在列表內部,最好是先將列表轉成集合,在進行判斷。

4、小結

a.集合裡面的元素必須是可雜湊的,

b.集合很消耗記憶體

c.可以搞笑判斷某個元素是否存在於某個集合

python中將多個列表轉成dataframe

python中將列表轉換成為資料框有兩種情況 第一種是兩個不同列表轉換成乙個資料框,第二種是乙個包含不同子列表的列表轉換成為資料框。第一種 兩個不同列表轉換成為資料框 from pandas.core.frame import dataframe a 1 2,3 4 列表a b 5 6,7 8 列表...

python列表 元組 集合

型別 list tuple set特點 有序,可重複,內容可變,可通過下標獲取元素 有序,可重複,內容不可變,可通過下標獲取元素 無序 不可重複 定義 張三 李四 王五 張三 李四 王五 只包含乙個元素的元組 張三 空 set 查詢list index tuple index 修改list inde...

js普通list集合轉成樹形集合

普通list集合 轉為 樹形集合 普通list集合轉成樹形集合 param data list集合 param idfield 子節點欄位名 param parentfield 父節點欄位名 param topvalue 最頂級父節點字段值 如 0 1 1 parsetreedata data,id...