組合數據類型
1.集合類型
集合是多種元素的無序組合,(元素獨一性)
集合用大括號{}表示,元素用,分隔。
用set函數建立:
A=set(“python123”)
{“p”,”y”,”t”,”h”,”o”,”n”,”1”,”2”,”3”}
集合操作符
集合有四種基礎運算方法,並,交,差,補
S|T 並運算,返回一個新集合,包含在集合S和T中的所有元素
S&T 交運算,返回一個新集合,包含既在S中又在T中的集合
S-T 差運算,返回一個新的集合,包含在集合S中但是不在集合T中的元素
S^T 補運算,返回一個新集合,包含集合S和T中的不相同元素
集合有兩種關系運算操作
S<=T或者S<T 關系運算,返回True/False,判斷S和T的子集關系
S>=T或者S>T 關系運算,返回True/False,判斷S和T的包含關系
集合由四種增強運算操作
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中,就算S中已經有了x也不會報錯 |
S.discard(x) |
移除集合S中的元素x,就算S中沒有x也不會報錯 |
S.remove(x) |
移除集合S中的元素x,如果S中沒有x,則會報錯KeyError |
S.clear() |
清除集合S中的所有元素 |
S.pop() |
從集合中隨意返回S的一個值,並更新S,若S為空,則產生KeyError錯誤 |
S.copy() |
返回集合S的一個副本 |
len(S) |
返回集合S中的元素的數目 |
x in S |
判斷元素x是否包含在集合S中 |
x not in S |
判斷元素x是否不在集合S中 |
set(x) |
將其他類型的變量x轉換為集合類型 |
2.序列類型
具有先后順序的一組數據,序列中元素可以相同,類型可以不同
序列類型是一個基類類型,字符串,元組,和列表都屬於序列類型
序號的定義有兩種,正向遞增序號和反向遞減序號
序列的操作方法
方法 |
描述 |
len(S) |
返回序列S的長度,即元素的個數 |
max(S) |
返回序列S中的最大值,如果S中的元素類型不同,不可以比較,則會報錯 |
min(S) |
返回序列S中的最小值,如果S中的元素類型不同,不可以比較,則會報錯 |
S.index(x) |
返回序列S中第一次出現x元素的索引 |
S.index(x,i,j) |
返回序列S從i開始到j位置中第一次出現x元素在序列S中的索引 |
S.count(x) |
返回元素x在序列S中出現的總次數 |
3.列表類型
列表是包含0個或多個對象引用的有序序列,屬於序列類型。
可以用list函數及那個元組或者字符串轉換成列表:
list(“python”)
[“p”,”y”,”t”,”h”,”o”,”n”]
列表的操作
方法 |
描述 |
ls[i]=x |
把列表索引為i的元素替換為x |
ls[i:j:k]=lt |
把列表lt替換為ls切片之后的子列表 |
del ls[i] |
刪除ls的第i個元素 |
del 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(x) |
將列表中的元素進行逆向排序 |
4.元組類型
元組一旦被創建就不能被修改
元組用()創建或者用tuple()創建,元素之間用逗號分開
可以使用或者不使用小括號,比如函數返回多個值
元組繼承了序列類型所有的操作
5.字典類型及其操作
映射是一種鍵(索引)和值(數據)的對應關系
鍵值對:鍵是數據索引的擴展
字典是鍵值對的集合,鍵值之間無序
字典的定義采用大括號{}和dict()創建,鍵值對用冒號表示,鍵值對之間用逗號隔開
>>>country={'中國':'北京','美國':'華盛頓','法國':'巴黎'}
>>>country
{'中國':'北京','美國':'華盛頓','法國':'巴黎'}
>>>coutry['中國']
'北京'
基本格式:
{<鍵1>:<值1>,<鍵2>:<值2>……<鍵n>:<值n>}
字典類型操作方法
方法 |
描述 |
del d[k] |
刪除字典d中鍵 |
k in d |
判斷鍵k是否在字典d中,如果在則返回True,否則返回False |
k not in d |
判斷鍵k是否在字典d中,如果不在則返回True,否則返回False |
d.keys() |
能夠返回字典d中所有的鍵信息 |
d.values() |
返回字典d中所有的值信息 |
d.items() |
返回字典d中所有鍵值對的信息 |
d.get(k,) |
鍵k存在,則返回鍵k對應的value值,否則返回default |
d.pop(k,) |
鍵k存在,則取出鍵k對應的value值,否則返回default |
d.popitem() |
隨機彈出一個鍵值對 |
d.clear() |
清空字典d |
d.len() |
返回字典d中鍵值對的個數 |