Python字典和集合

2021-07-13 12:34:59 字數 4305 閱讀 6244

判斷字典的元素

使用in 或者not in 和has_key()函式來判斷

>>> dict=

>>>

'one'

in dict

true

>>> dict.has_key('one')

true

>>>

'one'

notin dict

false

更新字典

>>> dict['one']=11

>>> dict['three']=33

>>> dict

刪除字典和字典元素

>>> dict.pop('one')

11>>> dict

>>>

del dict['tow']

>>> dict

>>> dict['one']=11

>>> dict.clear()

>>> dict

{}>>>

del dict

>>> dict

traceback (most recent call last):

file "", line 1, in

nameerror: name 'dict'

isnot defined

dict.pop(『key』)和del dict[『key』]刪除指定字典條目

dict.clear()是刪除dict的所有條目

del dict是刪除整個字典

字典的比較

比較字典長度

比較字典的鍵(先比較第乙個)

比較鍵的值

dict()

>>> list=['a','b','c','d']

>>> dict=dict(zip(list,range(4)))

>>> dict

>>> dict(x=1,y=2)

對映型別的內建方法函式

說明dict.keys()

返回字典的所有鍵

dict.values()

返回字典的所有鍵的值

dict.items()

以元組的形式返回字典的所有的鍵和值

dict.copy()

對字典進行淺複製

dict.fromkeys(seq,val=none)

建立字典,以seq元素為key,val為字典的所有值

dict.get(key,default=none)

返回字典key對應的值,如果沒有返回default的值

dict.setdefault(key,default=none)

返回字典key字典對應值,如果沒有key就建立乙個新的key

dict.update(dict)

將dict的key-values新增到dict裡

>>> dict

>>> dict.keys()

['a', 'c', 'b', 'd']

########

>>> dict.values()

[0, 2, 1, 3]

#######

>>> dict.items()

[('a', 0), ('c', 2), ('b', 1), ('d', 3)]

######

>>> d=dict.copy(dict)

[('a', 0), ('c', 2), ('b', 1), ('d', 3)]

######

>>> dict.fromkeys('abc')

#########

>>> dict.fromkeys(d)

##############

>>> dict.get('a',123)

0>>> dict.get('l',123)

123##################

>>> d.setdefault('l',6)

6>>> d

#################

>>> d2

>>> dict.update(d2)

>>> dict

集合型別

集合和其他容器差不多,支援用in和not in判斷集合裡的元素

可以用len()獲得集合的基數

因為集合是無序的 所以不能用索引和切片操作,也沒有keys

但可以for用迴圈迭代

集合型別還分可變集合和不可變集合(frozenset)

>>> s1=set('lockeroots')

>>> s1

set(['c', 'e', 'k', 'l', 'o', 's', 'r', 't'])

>>> s2=frozenset('lockeroots')

>>> s2

frozenset(['c', 'e', 'k', 'l', 'o', 's', 'r', 't'])

訪問集合的值

>>> for i in s1:

... print i

... ce

klos

rt>>> 'l'

in s1

true

>>> 'd'

in s1

false

更新集合值

不可變集合不能更新

>>> s1.add('d')

>>>

'd'in s1

true

>>> s1.update('abc')

>>> s1

set(['a', 'c', 'b', 'e', 'd', 'k', 'l', 'o', 's', 'r', 't'])

>>> s1.remove('a')

>>> s1

set(['c', 'b', 'e', 'd', 'k', 'l', 'o', 's', 'r', 't'])

集合的操作符

聯合(|)

表示把兩個集合聯合在一起

交集(&)

兩個集合中有相同的元素

差集/補集(-)

元素只屬於第乙個集合不屬於第二個集合

對稱差分(^)

顯示只屬於第乙個元素不屬於第二個元素和只屬於第二個元素不屬於第乙個元素

>>> s1=set('abcdefg')

>>> s2=set('efghijk')

>>> s1|s2

set(['a', 'c', 'b', 'e', 'd', 'g', 'f', 'i', 'h', 'k', 'j'])

>>> s1&s2

set(['e', 'g', 'f'])

>>> s1-s2

set(['a', 'c', 'b', 'd'])

>>> s1^s2

set(['a', 'c', 'b', 'd', 'i', 'h', 'k', 'j'])

集合的內建方法

s.issubset(s1) 如果s是s2的子集,則返回true,否則返回false

s.issuperset(s1) 如果s是s2的超集,則返回true,否則返回false

s.copy() 對s進行淺複製

>>> s=s1|s2

>>> s

set(['a', 'c', 'b', 'e', 'd', 'g', 'f', 'i', 'h', 'k', 'j'])

>>> s.issubset(s1)

false

>>> s.issuperset(s1)

true

>>> s1.union(s2)

set(['a', 'c', 'b', 'e', 'd', 'g', 'f', 'i', 'h', 'k', 'j'])

>>> s1.intersection(s2)

set(['e', 'g', 'f'])

>>> s3=s1.copy()

>>> s3

set(['a', 'c', 'b', 'e', 'd', 'g', 'f'])

Python字典和集合

特點 建立有資料的字典 dict1 print type dict1 建立空字典 dict2 print type dict2 dict3 dict print type dict3 字典序列 key 值dict1 dict1 name 張飛 print dict1 dict1 id 110prin...

Python之集合和字典

集合是乙個無重複元素的集,支援交,差,與等數 算,大括號和set 均能建立集合,但建立空集合只能用set 用於建立空字典 ab 建立集合 ab a set python 建立集合 b set cool a b o in a 判斷o是否在集合中 true a b a有而b沒有的元素 a b 存在於a或...

python 集合 字典

1.集合 建立 set 注意 建立空的集合要用set 特點 元素唯一,無序 運算 交集 並集 差集 方法 s.add x 新增單個元素 s.update 新增多個元素 s.remove 移除元素 s.clear 清空集合2.字典 建立 大括號建立字典的鍵時要加引號 dict key value 括號...