- 以鍵值對儲存的資料形式字典名 =- 字典原理: 將key關鍵字作為自變數,通過雜湊函式計算出乙個整數值,即為該元素的儲存位址
- 犧牲空間來節省時間
- 如果位址出現衝突,鏈結發 / 開放定址式(python)
字典名 = dict(key = value)
# 此處key是字串,不需要加引號,只代表關鍵字
# 只適用於key為字串的字典建立
字典名 = dict(zip(iteral1, iteral2))
字典名.fromkeys(iteral, [default = none])
# 返回新建立的字典,字典名來自iteral, 字典值同一為default
# 方法一:
>>> a =
# 方法二:
>>> a = dict(age = 12, 性別 = '男')
>>> a
# 方法三:
>>> m = range(1, 5)
>>> n = ('a', '@', 3)
>>> dict(zip(m,n))
>>> dict(zip(n, m))
# 方法四:
>>> a =
>>> a.fromkeys(a, [23,'ed'])
>>> a.fromkeys(a.values(), [23,'ed'])
字典名[字典鍵值] = 字典值
--- 如果有,更新;沒有,新增
# 方法一:
>>> a =
>>> a['sa'] = 234
>>> a
# 方法二(支援新增和查詢,不支援修改):
>>> a =
# 沒有key,則新增鍵值對
>>> a.setdefault(34, 's')
's'>>> a
# 如果已有key,不修改value
>>> a.setdefault(2, 's')
3>>> a
# 方法三:
# 有則改,無則添
>>> a =
>>> b =
>>> a.update(b)
>>> a
不支援+ * >
支援== in, is
① .fromkeys(seq)
建立同值不同鍵的字典
② setdefault(key, value)
- 用於給字典追加鍵值對,如果沒有value,
追加key-none鍵值對
key不存在,追加key-value;
已經存在,不可變value;
③ update((key, default=none)
- 追加字典,對已有key更新,沒有追加鍵值對,適用於多個
① pop(key)
- 刪除指定鍵值對,返回key對應value
② popitem()
- 隨機刪除鍵值對,返回被刪除的鍵值對
③ clear
清空字典
get(key, '錯誤資訊')
- 返回value, 如果key不存在,返回指定資訊
- 所有物件的拷貝都是淺拷貝
返回迭代器
(1) .keys()
(2) .values()
(3) .items()
eg.
# 冒號生成字典
>>>
# 不加冒號生成集合
>>>
>>>
- value為none的字典
(1) 集合名 =(1) 集合元素不重複(2) 集合名 = set(iterator)
# 空集合建立
集合名 = {} --- 空字典
集合名 = set() --- 空集合
(2) 無序
(3) 元素為不可變型別
(1) 無 * +
有 in is == >(父子集判斷)
(2) 差集(-),並集(|),交集(&),相對差集(^)
s1 =
s2 =
① 差集 --- 在被減數集合但是不在減數集合
>>> s1 - s2
>>> s2 - s1
②並集 --- 合併去重複
>>> s1 | s2
③交集 --- 同時出現
>>> s1 & s2
④相對差集 --- 不同時出現
>>> s1 ^ s2
(3) 父子集判斷( < 、 >)
- 是否存在包含關係
.add(element)
① .remove(element)
有則原地刪除,無則報錯
② .discard(element)
若有則刪除,不存在不報錯
③ .pop()
隨機刪除乙個元素,並返回
.copy()
淺拷貝,物件不是原來的物件,和元組型別不一樣
s1 =
s2 =
① 差集 - difference
>>> s1.difference(s2)
# 帶有'_update'代表原地修改
>>> s1.difference_update(s2)
>>> s1
② 交集 - intersection
>>> s1.intersection(s2)
③ 並集 - union
>>> s1.union(s2)
>>> s1.update()
>>> s1
④ 相對差集 - symmetric_difference
>>> s1.symmetric_difference(s2)
⑤ .isdisjoint()
- 判斷交集是否為空
⑥ .issubset()
- 判斷是否子集
⑦ .issupperset()
- 判斷是否父集
只能通過遍歷獲得元素,不支援索引
> 其他轉字典,使用dict關鍵字方法, dict(a =1, b =2, c=3)
> 字串、列表、元組轉集合,會去除重合元素
如果含有可變型別,則不能朱哪壺·轉化為集合
資料結構 字典和集合
以鍵值對儲存的資料形式 字典原理 將key關鍵字作為自變數,通過雜湊函式計算出乙個整數值,即為該元素的儲存位址 犧牲空間來節省時間 如果位址出現衝突,鏈結發 開放定址式 python 字典名 字典名 dict key value 此處key是字串,不需要加引號,只代表關鍵字 只適用於key為字串的字...
內建資料結構集合和字典
特性 不支援重複和連線,也不支援索引和切片,支援成員操作符和for迴圈 明明想在學校中請一些同學一起做一項問卷調查,為了實驗的客觀性,他先用計算機生成了n個1到1000之間的隨機整數 n 1000 對於其中重複的數字,只保留乙個,把其餘相同的數去掉,不同的數對應著不同的學生的學號。然後再把這些數從大...
JS 資料結構,集合 字典
集合通常由一組無序的,不能重複的元素構成。集合比較常見的實現方式是雜湊表。可以將集合看做特殊的陣列。特殊之處在於裡面的元素沒有順序,也不能重複。沒有順序意味著不能通過下標值進行訪問,不能重複意味著相同的物件在集合中只能存在乙份。學習集合,可以自己封裝乙個集合類。在 js 中,2011年6月發布的 e...