国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python基本數(shù)據(jù)結(jié)構(gòu)之元組、集合與字典

2019-11-08 01:41:57
字體:
供稿:網(wǎng)友

元組(Tuple)

有序的集合通過偏移來取數(shù)據(jù)屬于不可變的對象,不能在原地修改內(nèi)容,沒有排序,修改等操作。 在處理一組對象時,這個組默認(rèn)是元組類型

注:

tuple類型轉(zhuǎn)換,想修改先用list方法將元組轉(zhuǎn)換成列表,再將修改后的列表用tuple方法生成新元組 那為什么有列表還要有元組呢 (元組不可變的好處)保證數(shù)據(jù)的安全,比如我們傳給一個不熟悉的方法或者數(shù)據(jù)接口,確保方法或者接口不會改變我們的數(shù)據(jù)從而導(dǎo)致程序問題。

集合(Set)

集合是沒有順序的概念。所以不能用切片和索引操作。

創(chuàng)建集合。set():默認(rèn)是可變的 frozenset():不可變的添加操作:add,update刪除 remove成員關(guān)系 in,not in交集,并集,差集 & | -set去重:利用集合的單一性清除列表內(nèi)容重復(fù)的元素。

可變集合

info = set('abc') info.add('python')##添加單個對象到集合里 PRint info info.update('python')##把對象里的每個元素添加到集合里 print info info.remove('python') print info

不可變集合

t = frozenset('haha') ##不能進(jìn)行添加,修改和刪除的操作。

成員操作 in,not in

print 'a' in info print 'h' in t print 'jay' not in info

判斷2個集合是否相等,之和元素本身有關(guān),和順序無關(guān)。

print set('abc') == set('cba')

并集,交集,差集

print set('abc') | set('cbdef') ##并集 print set('abc') & set('cbdef') ##交集 print set('abc') - set('cbdef') ##差集 liststr = ['haha','gag','hehe','haha']

for循環(huán)在set中的小應(yīng)用:

m = [] for i in liststr: if i not in m: m.append(i) print m m = set(liststr) print list(m)

字典dict

字典的特點(diǎn)

字典是無序的,它不能通過偏移來存取,只能通過鍵來存取。 字典 = {‘key’:value} key類似我們現(xiàn)實(shí)的鑰匙,而value則是鎖。一個鑰匙開一個鎖,內(nèi)部沒有順序,通過鍵來讀取內(nèi)容,可嵌套,方便我們組織多種數(shù)據(jù)結(jié)構(gòu),并且可以原地修改里面的內(nèi)容,屬于可變類型。 組成字典的鍵必須是不可變的數(shù)據(jù)類型,比如,數(shù)字,字符串,元組等,列表等可變對象不能作為鍵.即鍵key必須是可哈希(hashable)的。 不允許一個鍵對應(yīng)多個值。

創(chuàng)建字典。{}和dict()

定義方法:info = {'name':'lilei', 'age': 20}

dict內(nèi)置方法:info = dict(name='lilei',age=20)

添加內(nèi)容 a[‘xx’] = ‘xx’

info['phone'] = '修改內(nèi)容 update() ,

update()的參數(shù)是一個字典的類型,他會覆蓋相同鍵的值。

info['phone'] = 'htc' info.update({'city':'beijing','phone':'nokia'})

刪除 del,clear(),pop()

del info['phone'] #刪除某個元素info.clear() #刪除字典的全部元素info.pop('name') #注意和列表pop方法的區(qū)別

in 和 has_key() 成員關(guān)系操作

返回布爾值,比如:

phone in infoinfo.has_key('phone')

字典的幾個重要方法

keys(): 返回的是列表,里面包含了字典的所有鍵。values():返回的是列表,里面包含了字典的所有值。items():生成一個字典的容器:[()]

get():從字典中獲得一個數(shù)據(jù)

info.get('name') info.get('age2',’22’) #第二個參數(shù)可選,設(shè)置時表示沒有該鍵時返回的默認(rèn)值。

hash():本身并不是為字典設(shè)計的方法,可以判斷某個對象是否可以做一個字典的鍵。將一個對象作為參數(shù)傳遞給hash()返回這個對象的哈希值。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 大荔县| 襄垣县| 西乡县| 华蓥市| 新蔡县| 太仓市| 武功县| 株洲市| 宜宾县| 霍山县| 峨山| 汤原县| 江孜县| 元谋县| 锡林浩特市| 高阳县| 蒙阴县| 贵阳市| 伊宁县| 井陉县| 尉氏县| 余干县| 鹿邑县| 彰化县| 大港区| 泾源县| 乐业县| 印江| 平泉县| 雷山县| 崇仁县| 永昌县| 金沙县| 喀什市| 高雄市| 哈巴河县| 南岸区| 方正县| 阜城县| 永定县| 宜宾县|