1. 程式人生 > >python-序列、集合及字典

python-序列、集合及字典

組合資料型別

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中鍵值對的個數