Python中元組,集合2種數據類型在某些情況下替換列表的優勢

Python3中給我們提供了6種標準數據類型:
Number(數字)、String(字符串)、List(列表)、Tuple(元組)、Set(集合)、Dictionary(字典)

其中 :
數字、字符串、元組是不可變數據(定義後不可修改)
列表、字典、集合是可變數據(定義後可以修改)。

關於這些數據類型的基本知識這裏不展開敘述,需要了解請點擊如下鏈接:
python標準數據類型的定義和基本用法參考

大家在coding中使用最頻繁的數據類型一定是列表,列表雖然應用廣泛,但在某些應用場景下並不是最適合的,我們不能一昧地使用列表而忽略了其它類型,因此在這裏總結一下元組,集合 在某些情況下替換列表的優勢

1. 列表:

列表可以進行索引,切片,還內置了很多方法,例如 append()、pop() 等等,列表中元素的類型可以不相同,它支持數字,字符串甚至可以包含列表(即嵌套)。

因此,列表使用十分方便,被應用的最爲頻繁,但是某些情況下使用列表並不是最佳選擇。

2. 元組:

元組與列表的使用規則差不多,區別是元組是不可變的有序項序列,一旦定義了元組,它就不能被更改。

所以,利用元組可以編寫出更安全代碼。當變量被定義爲元組時,就是在聲明:這組數據不能改變,任何修改變量的嘗試都將出現錯誤。

此外,由於元組中的項目數不變,元組比列表更節省內,存迭代元組比迭代列表也更快。

因此,如果列表的序列不需要修改,或者只是用於迭代,那麼完全可以用元組替換列表來提升數據安全性,提高運行效率,同時節省內存。

3. 集合:

談到集合,一定要與字典區別開來,新手往往會把他們混淆。

集合是一個無序的數據項組合。它與列表的區別在於集合不能有重複的值。與元組一樣,可以通過強制類型轉換將另一種數據類型創建爲集合。

如果有一個包含大量數據項的列表,要求刪除其中的重複值時,你會怎麼做呢?

事實上,只要將列表轉換成集合就可以了。集合不能有重複的值,將其它數據類型轉換爲集合時,重複的值自然就被過濾了。

代碼示例:

#定義一個列表
def_list = ['1','2','3','4','3','9','張三','李四','王五','李四'] 

trans_set = set(def_list) #將列表轉換成集合,可刪除重複值
print('列表項:',def_list) #打印列表
print('集合項:',trans_set) #打印集合

另外,當需要比較多個集合或列表時,使用集合的內置方法union()、intersection() 和 difference() 函數能直接告訴你兩個集合之間的組合值(或)、共享值(與)和不同值(非)。

總結:

列表用起來舒服可靠,元組可以更快地處理並保護聲明的數據結構,集合可以確保唯一值並利用比較方法。使用合適的數據類型對我們是大有裨益的,學習Python就應該學會用更好的方法解決問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章