1. 程式人生 > 其它 >python學習筆記4

python學習筆記4

字典、集合

一、字典

字典是“鍵值對”的無序可變序列,“鍵”是任意的不可變資料,:整數、浮點數、字串、元組,且“鍵”不可重複。

1.字典的建立

1.1 {}、dict()

>>> a = {'name':'wq','age':18,'job':'student'
} >>> b = dict(name='wq',age=18,job='student') >>> a = dict([("name","wq"),("age",18)])

1.2 zip()

>>> k = ['name','age','job']
>>> v = ['wq',18,'student']
>>> d = dict(zip(k,v))
>>> d
{'name': 'wq', 'age': 18, 'job'
: 'student'}

1.3 fromkeys 建立值為空的字典

>>> a = dict.fromkeys(['name','age','job'])
>>> a
{'name': None, 'age': None, 'job': None}

2.字典元素的訪問

2.1 [鍵] 獲得“值”

>>> a ={'name':'wq','age':18,'job':'student'}
>>> a['name']
'wq'

2.2 get()獲得“值”(推薦)

>>> a = {'name':'wq'
,'age':18,'job':'student'} >>> a.get('name') 'wq' >>> a.get('ss') >>> a.get('ss','一') '一'

2.3 列出鍵值對

a.items():列出所有的鍵值對
a.keys():列出所有的鍵
a.values():列出所有的值

3.字典元素操作

3.1 新增

>>>a = {'name':'wq','age':18,'job':'student'}
>>> a['address']='中國'
>>> a['age']=16
>>> a
{'name': 'wq', 'age': 16, 'job': 'student', 'address': '中國'}
>>> a = {'name':'wq','age':18,'job':'student'}
>>> b = {'name':'wqq','money':1000,'sex':'女的'}
>>> a.update(b)
>>> a
{'name': 'wqq', 'age': 18, 'job': 'student', 'money': 1000, 'sex': '女的'}

3.2 刪除

del()
clear():刪除所有鍵值對
pop():刪除指定鍵值對,並返回對應的“值物件”;
popitem() :隨機刪除和返回該鍵值對

4.序列解包

序列解包可以用於元組、列表、字典。序列解包可以讓我們方便的對多個變數賦值。,預設是對“鍵”進行操作。

>>> x,y,z=(20,30,10)
>>> x
20
>>> (a,b,c)=(9,8,10)
>>> a
9
>>> [a,b,c]=[10,20,30]
>>> a
10

items():對鍵值對操作
values():要對“值”進行操作

>>> s = {'name':'wq','age':18,'job':'student'}
>>> a,b,c=s  #預設對鍵進行操作
>>> a
'name'
>>> a,b,c=s.items() #對鍵值對進行操作
>>> a
('name', 'wq')
>>> a,b,c=s.values() #對值進行操作
>>> a
'wq'

二、集合

集合是無序可變,元素不能重複。,集合底層是字典實現,集合的所有元素都是字典中的“鍵物件”。

1.集合的建立、刪除

{}:建立集合物件
add():新增元素
set():將列表、元組等可迭代物件轉成集合。
remove():刪除指定元素

>>> a = {3,5,7}
>>> a
{3, 5, 7}
>>> a.add(9)
>>> a
{9, 3, 5, 7}
>>> a = ['a','b','c','b']
>>> b = set(a)
>>> b
{'b', 'a', 'c'}
>>> a = {10,20,30,40,50}
>>> a.remove(20)
>>> a
{10, 50, 30}

2.集合相關操作

ython 對集合提供了並集、交集、差集等運算
並集:
a|b
a.union(b)
交集:
a&b
a.intersection(b)
差集:
a-b
a.difference(b)