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就應該學會用更好的方法解決問題。