集合類型及操作
<1>集合元素之間無序,每個元素唯一,不存在相同元素
<2>集合元素不可更改,不能是可變數據類型
- 集合用大括號{}表示,元素間用逗號分隔
- 建立集合類型用{ }或set()
- 建立空集合類型,必須使用set()
>>>B = set("pypy123")
{'1','p','2','3','y'}
集合間操作
1.新建一個集合
-
S | T :並(集合S和T中的所有元素)
-
S - T :差 (在集合S但不在T中的元素)
-
S & T :交(同時在集合S和T中的元素)
-
S ^ T :補(集合S和T中的非相同元素)
2.更新集合S
-
S |= T(更新集合S,集合S和T中的所有元素)
-
S - =T(更新集合S,在集合S但不在T中的元素)
-
S & =T(更新集合S,同時在集合S和T中的元素)
-
S ^ =T (更新集合S,集合S和T中的非相同元素)
集合處理方法
s.add(x) | 如果x不在集合s中,將x增加到s中 |
---|---|
s.discard(x) | 移除s中元素x,如果x不在集合s中,不報錯 |
s.remove(x) | 移除s中元素x,如果x不在集合s中,產生KeyError異常 |
s.clear() | 移除s中所有元素 |
s.pop() | 隨機返回s的一個元素,更新s,若s爲空,產生KeyError異常 |
s.copy() | 返回集合s的一個副本 |
len(s) | 返回集合s的元素個數 |
x in s | 判斷s中元素x,x在集合s中,返回Ture,否則返回False |
x not in s | 判斷s中元素x,x在集合s中,返回False,否則返回Ture |
set(x) | 將其他類型變量x轉變爲集合類型 |
序列類型及操作
序列是具有先後關係的一組元素
序列類型:字符串類型,元組類型,列表類型
x in s | 如果x是序列s的元素,返回True,否則返回False |
---|---|
x not in s | 如果x是序列s的元素,返回False ,否則返回True |
s + t | 連接兩個序列s和t |
sn或ns | 將序列s複製n次 |
s[i] | 索引,返回s中的第i個元素,i是序列的序號 |
五個函數和方法
len(s) | 返回序列s的長度 |
---|---|
min(s) | 返回序列s的最小元素,s中元素需要可比較 |
max(s) | 返回序列s的最大元素,s中元素需要可比較 |
s.index(x)/s.index(x,i,j) | 返回序列s從i開始到j位置第一次出現元素x的位置 |
s.count(x) | 返回序列s中出現x的總次數 |
序列(字符串)
序列(元組)
元組是一種序列類型,一旦創建就不能被修改
使用小括號()或tuple()創建,元素間用逗號,分隔
可以使用或不使用小括號
- 元組繼承了序列類型的全部通用操作
- 元組因爲創建後不能修改,因此沒有特殊操作
序列(列表)
列表是一種序列類型,創建後可以隨意被修改
使用方括號[ ]或list()創建,元素之間用逗號,分隔
可以使用或不使用小括號
- 方括號[ ]真正創建一個列表,賦值僅傳遞引用
操作函數和方法
ls[i] = x | 替換列表ls第i個元素爲x |
---|---|
ls[i:j:k] = lt | 用列表lt替換ls切片後所對應元素子列表 |
del ls[i] | 刪除列表ls中第i元素 |
del ls[i:j:k] | 刪除ls中第i到第j以k爲步長的元素 |
ls += lt | 更新列表ls,將列表lt元素增加到列表ls中 |
ls *= n | 更新列表ls,其元素重複n次 |
ls.append(x) | 在列表ls最後增加一個元素x |
ls.clear() | 刪除列表ls中所有元素 |
ls.copy() | 生成一個新列表,賦值ls中所有元素 |
ls.insert(i,x) | 在列表ls的第i位置增加元素x |
ls.pop(i) | 將列表ls中第i位置元素取出並刪除該元素 |
ls.remove(x) | 將列表ls中出現的第一個元素x刪除 |
ls.reverse() | 將列表ls中的元素反轉 |
字典類型及操作
字典類型是“映射”的體現
- 鍵值對:鍵是數據索引的擴展
- 字典是鍵值對的集合,鍵值對之間無序
- 採用大括號{ }和dict()創建,鍵值對用冒號:表示
{<鍵1>:<值1>,<鍵2>:<值2>, ........,<鍵N>:<值N>}
在字典變量中,通過鍵獲得值
<字典變量> = {<鍵1>:<值1>,<鍵2>:<值2>, ........,<鍵N>:<值N>}
<值> = <字典變量>[<鍵>]
<字典變量>[<鍵>] = <值>
[ ]用來向字典變量中索引或增加元素
字典類型操作函數和方法
del d[k] | 刪除字典d中鍵k對應的數據值 |
---|---|
k in d | 判斷鍵k是否在字典d中,如果在返回True,否則False |
d.keys() | 返回字典d中所有的鍵信息 |
d.values() | 返回字典d中所有的值信息 |
d.items() | 返回字典d中所有的鍵值對信息 |
d.get(k,) | 鍵k存在,則返回相應值,不在則返回值 |
d.pop(k,) | 鍵k存在,則取出相應值,不在則返回值 |
d.popitem() | 隨機從字典d中取出一個鍵值對,從元組形式返回 |
d.clear() | 刪除所有鍵值對 |
len(d) | 返回字典d中元素的個數 |