Python中的基本數據類型的區別

set集合和dict字典的區別算法

惟一區別:測試

  1. set沒有對應的value值

相同點:對象

  1. 都無索引,不可進行切片和根據索引進行的操做
  2. 二者都是不可哈希的可變類型
  3. 二者的內部元素是可哈希的不可變類型
利用哈希算法,進行計算元素在存在的生命週期中有對應惟一的哈希值,就是可哈希,不存在就是可改變的。  

 

set集合和list列表的區別
相同點:blog

  1. 都是可變類型

不一樣點:索引

  1. set集合是無序且元素惟一
  2. set集合取得元素只能for循環,不然由於是無序的,無索引
  3. list列表是有序且元素不惟一,能夠根據索引進行切片
  4. list列表是分離式結構的動態順序表(是有索引的緣由)
順序表分爲:
一體式結構: 存儲表信息的單元和存儲區連續在一個存儲區間。
分離式結構: 存儲表信息的單元只保存容量和元素的個數,實際數據元素存儲在另外一個存儲區,經過連接去關聯。

set集合主要用於測試數據和數據的交、並、差等此類型的和去重操做
set集合本質區別和dict字典相同生命週期

 

list列表和dict字典的區別
相同點:字符串

  1. 可變類型
  2. 可迭代

不一樣點:for循環

  1. dict字典的key必須是不可變對象
  2. dict字典須要的存儲空間大於list列表
  3. 查詢效率字典遠高於列表

 

tuple元組和list列表的區別
不一樣點:class

  1. tuple對象建立後就不可變
  2. 建立對象的方式:list = [「元素」] tuple=(「元素」,)

相同點:效率

  1. 可迭代

 

tuple元組、字符串、數字

  1. 不可變類型(可哈希),不能夠進行更改元素
  2. 元組能夠包含可變類型
相關文章
相關標籤/搜索