python學習筆記 集合set,函式基礎

2021-09-05 03:12:28 字數 1559 閱讀 1271

1、遍歷字典

for k,v in d:

則k,v分別是字典中鍵值對的鍵和值

2、字典的推導式

比如d =

# d =

3、例題:生成字典,直到c3結束

**:d =

4、字典vs列表

都是可變物件

索引方式不同,列表用於整數索引,字典用任意型別不可變物件做索引

字典的查詢速度要快於列表

列表的儲存是有序的,字典的儲存是無序的

5、集合set

集合是可變物件

集合內的資料物件都是唯一的,不能有重複

集合是無序的儲存結構,集合中的數值沒有先後關係

集合內的元素必須是不可變物件(元組、字串、單個資料)

集合是可迭代物件

集合相當於只有鍵沒有值的字典,鍵就是集合的資料

6、建立空集合

s = set()

注意:不能使用s = {} 建立集合,那樣建立的物件的字典

7、建立非空集合

集合內部變數必須都是不可變物件

s =

s =

s =

s = #這樣是錯誤的,列表不能加入集合

a = 1234 

s = 這裡a的不是引用,而是代表乙個實際的數值

8、集合set的建構函式

s = set()

s = set(iterable)用可迭代物件生成乙個物件

#s = set("hello") = 且並不保證其順序,重複的元素算一次 

9、集合的運算

交集、並集、補集、子集、超集

&     |     ^     -

&:生成兩個集合的交集

|:生成兩個集合的並集

-:生成兩個集合的補集,s1-s2代表從s1中減去存在於s2中的資料元素

^:生成兩個集合的對稱補集,s1^s2代表從s1和s2的並集中減去交集中的元素

s1 =

s2 =

s1 & s2 =

s1 | s2 =

s1 - s2 =

s1^s2 =

10、集合的比較

> >= < <= == !=

s1 > s2 true if s1是s2的超集

s1 < s2 true if s1是s2的子集

<= 和 >= 比上述多了乙個等於,即集合是否相同

== != 判斷集合是否相等

11、in 和 not in 運算子

優點:運算速度快於列表和字串

12、集合常用方法

s.add(e)    向集合中新增元素e

s.remove(e)    從集合中刪除元素e,若不存在,產生錯誤

s.discard(e)    刪除元素,不存在不產生錯誤

s.clear()    清空集合

s.copy()    淺拷貝乙個集合

s.pop()        從集合中刪除乙個隨機元素,返回被刪除的值,若集合為空則產生錯誤

s.update(s2)    將s2並如s中,更新變數s

其他常用方法均可用上述算術運算代替

python學習筆記 set集合

上篇 set集合是乙個無序不重複元素的集,基本功能包括關係測試和消除重複元素。集合使用大括號 框定元素,並以逗號進行分隔。但是注意 如果要建立乙個空集合,必須用 set 而不是 因為後者建立的是乙個空字典。集合資料型別的核心在於自動去重。s set 1,1,2,3,3,4 s 自動去重 set th...

Python學習筆記 集合(set)

什麼是set set集合,元素是無序 存放順序與輸出順序不同 不重複 元素是唯一的 的用於儲存不允許重複的元素,也可以用於快速去重 底層原理 集合是乙個雜湊表 雜湊表 無序,不重複 建立set1 set 宣告乙個空集合 set2 宣告乙個非空集合 set0 宣告乙個字典!不是空集合訪問 增刪改查se...

python筆記 set集合

集合 set 是由乙個或數個形態各異的大小整體組成的,構成集合的事物或物件稱作元素或是成員。基本功能是進行成員關係測試和刪除重複元素。可以使用大括號 或者 set 函式建立集合,注意 建立乙個空集合必須用set 而不是 因為 是用來建立乙個空字典 set是乙個無序不重複元素值,作為乙個無序的集合,s...