集合
- 集合類型在二級考試中不是重點,但是在衆多語言中,有集合概念的語言還真的不多。在一些實際問題的時候,集合可以很好地解決一些問題。
- 集合的概念與數學中的集合的概念完全一致,具有以下的特點:
- 集合無索引與切片,因爲它是無序的。
創建一個集合
T1 = {1,2,3,5,6,6,7,8,0}
print(type(T1))
print(T1)
T2= set()
print(type(T2))
<class 'set'>
{0, 1, 2, 3, 5, 6, 7, 8}
<class 'set'>
集合的運算:
操作符及其運算 |
描述 |
S−T |
差集 |
S&T |
交集 |
S^T |
包含非共同元素 |
$S |
T$ |
集合的函數與方法:
函數或者方法 |
描述 |
S.add(x) |
添加一個元素x |
S.remove(x) |
如果元素x在S中,移除該元素;若非,產生異常。 |
S.clear() |
清光所有元素 |
len(S) |
返回集合元素的個數 |
x in S |
判斷x是S的元素,是則返回True,否則False |
x not in S |
同理,若x不在則返回True,否則False |
字典
- 在字典中最大的特點就是鍵值對,所謂鍵值對,就是每一個值都有一個鍵來對應這就是鍵值對。
- 實際上是值所在的集合和鍵所在的集合形成的雙射。
- 也可以理解成爲鍵值對的集合,或者集合是沒有鍵的字典。
- 列表可以看作鍵爲0、1、…的字典。
字典的定義:
與集合一樣都是使用{}來定義。
D = {'201801':'小明','201802':'小花','201803':"小王"}
print(D)
D2 = {'201801':'小明','201802':'小花','201803':"小王",'201801':'小明'}
print(D2)
D3 = {'201801':'小明','201802':'小花','201803':"小王",'201801':'小狗'}
print(D3)
D4 = dict()
D5 = {}
print(type(D4))
print(type(D5))
{'201801': '小明', '201802': '小花', '201803': '小王'}
{'201801': '小明', '201802': '小花', '201803': '小王'}
{'201801': '小狗', '201802': '小花', '201803': '小王'}
<class 'dict'>
<class 'dict'>
字典的索引
使用D[<鍵>]索引
D['201801']
'小明'
字典的操作函數:
函數 |
描述 |
len(D) |
個數 |
min(D) |
D中鍵的最小值,前提是索引元素可以比較 |
max(D) |
D中鍵的最大值,前提是索引元素可以比較 |
字典的方法
方法 |
描述 |
d.keys() |
返回所有的鍵 |
d.values() |
返回所有的值 |
d.items() |
返回所有的鍵值對 |
d.get(key,default) |
返回key鍵所對應的元素,如不存在key,返回後面的default |
d.pop(key,default) |
返回清除key鍵所對應的元素,如不存在key,返回後面的default |
d.popitem() |
隨機取出並且清除一個鍵值對,以元組形式返回。 |
d.clear() |
清空字典 |
例子:
d = {}
names = ["小明",'啊狗','阿貓','老王']
for i in range(4):
d['20180{}'.format(i)] = names[i]
print(d)
{'201800': '小明', '201801': '啊狗', '201802': '阿貓', '201803': '老王'}
d.keys()
dict_keys(['201800', '201801', '201802', '201803'])
d.values()
dict_values(['小明', '啊狗', '阿貓', '老王'])
d.items()
dict_items([('201800', '小明'), ('201801', '啊狗'), ('201802', '阿貓'), ('201803', '老王')])
d.get("201801")
'啊狗'
d.get("2018","查詢無果")
'查詢無果'
d.pop("2018","查詢無果")
'查詢無果'
d.pop("201800")
print(d)
{'201801': '啊狗', '201802': '阿貓', '201803': '老王'}
d.popitem()
print(d)
{'201801': '啊狗', '201802': '阿貓'}
d.clear()
print(d)
{}