Task05 字典 集合和序列

2021-10-08 18:01:12 字數 1960 閱讀 7450

可變型別與不可變型別

序列是以連續的整數為索引,與此不同的是,字典以"關鍵字"為索引,關鍵字可以是任意不可變型別,通常用字串或數值。

字典是 python 唯一的乙個 對映型別,字串、元組、列表屬於序列型別。

字典的定義

字典 是無序的 鍵:值(key:value)對集合,鍵必須是互不相同的(在同乙個字典之內)。

dict 內部存放的順序和 key 放入的順序是沒有關係的。

dict 查詢和插入的速度極快,不會隨著 key 的增加而增加,但是需要占用大量的記憶體。

3. 建立和訪問字典

4. 字典的內建方法

dict.fromkeys(seq[, value])用於建立乙個新字典,以序列seq中元素做字典的鍵,value為字典所有鍵對應的初始值。

python 中set與dict類似,也是一組key的集合,但不儲存value。由於key不能重複,所以,在set中,沒有重複的key。

注意,key為不可變型別,即可雜湊的值。

集合的建立

先建立物件再加入元素。

在建立空集合的時候只能使用s = set(),因為s = {}建立的是空字典。

訪問集合中的值

集合的內建方法

set.add(elmnt)用於給集合新增元素,如果新增的元素在集合中已存在,則不執行任何操作。

set.update(set)用於修改當前集合,可以新增新的元素或集合到當前集合中,如果新增的元素在集合中已存在,則該元素只會出現一次,重複的會忽略。

set.difference(set)返回集合的差集。

set1 - set2返回集合的差集。

set.difference_update(set)集合的差集,直接在原來的集合中移除元素,沒有返回值。

集合的轉換

不可變集合

python 提供了不能改變元素的集合的實現版本,即不能增加或刪除元素,型別名叫frozenset。需要注意的是frozenset仍然可以進行集合操作,只是不能用帶有update的方法。

在 python 中,序列型別包括字串、列表、元組、集合和字典,這些序列支援一些通用的操作,但比較特殊的是,集合和字典不支援索引、切片、相加和相乘操作。

針對序列的內建函式

sorted(iterable, key=none, reverse=false)對所有可迭代的物件進行排序操作。

iterable– 可迭代物件。

key– 主要是用來進行比較的元素,只有乙個引數,具體的函式的引數就是取自於可迭代物件中,指定可迭代物件中的乙個元素來進行排序。

reverse– 排序規則,reverse = true降序 ,reverse = false公升序(預設)。

返回重新排序的列表。

reversed(seq)函式返回乙個反轉的迭代器。

seq– 要轉換的序列,可以是tuple, string, list 或 range

enumerate

(sequence,

[start=0]

)

zip

(iter1 [

,iter2 [..

.]])

用於將可迭代的物件作為引數,將物件中對應的元素打包成乙個個元組,然後返回由這些元組組成的物件,這樣做的好處是節約了不少的記憶體。

我們可以使用 list() 轉換來輸出列表。

如果各個迭代器的元素個數不一致,則返回列表長度與最短的物件相同,利用 * 號操作符,可以將元組解壓為列表。

Task05 字典 字串

map 是一種較為特殊的資料結構,在任何一種程式語言中都可以看見它的身影,它是一種鍵值對結構,通過給定的 key 可以快速獲得對應的 value 4.1.1 如何定義字典var m1 map string int m2 make map int inte ce 100 m3 map string s...

05, 字典,集合

1.什麼是字典 字典是以key value的形式來儲存資料,用 表示.儲存的是key value 坑 字典儲存資料的時候是用的hash值來儲存.演算法不能變 python的 資料必須是不可變的 可雜湊 字典的key必須是可雜湊的 不可變 dic print dic jay 周杰倫 dic jay 麻...

Task06 字典與集合

集合是由不重複元素組成的無序的集。它的基本用法包括成員檢測和消除重複元素。集合物件也支援像 聯合,交集,差集,對稱差分等數 算。理解字典的最好方式,就是將它看做是乙個 鍵 值 對的集合,鍵必須是唯一的 在乙個字典中 一對花括號可以建立乙個空字典 另一種初始化字典的方式是在一對花括號裡放置一些以逗號分...