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

首頁 > 編程 > Python > 正文

Python字典

2019-11-08 02:26:10
字體:
來源:轉載
供稿:網友

一、基本用法

1. dict函數

#通過其他映射(如字典)或者(key, value)序列對的形式創建字典In [28]: per = [('name', 'yantao'), ('age', 22)]In [29]: dict(per)Out[29]: {'age': 22, 'name': 'yantao'}#通過關鍵字參數創建字典In [26]: dict(name='yantao', age=22)Out[26]: {'age': 22, 'name': 'yantao'}

2. 字典的格式化字符串

In [50]: aOut[50]: {'age': 23, 'name': 'yantao'}In [51]: 3. 字典中常用方法clear   清除字典中所有的項In [59]: a = {'age': 23, 'name': 'yantao'}In [60]: b = aIn [61]: aOut[61]: {'age': 23, 'name': 'yantao'}In [62]: bOut[62]: {'age': 23, 'name': 'yantao'}In [63]: a.clear()In [64]: aOut[64]: {}In [65]: bOut[65]: {}copy   返回一個具有相同key-value對的新字典In [76]: a = {'age': 23, 'name': 'yantao'}In [77]: y = a.copy()In [82]: yOut[82]: {'age': 23, 'name': 'yantao'}fromkeys   使用給定的key建立新的字典,每個key對應的value為NoneIn [41]: {}.fromkeys(['name', 'age']) Out[41]: {'age': None, 'name': None}#dict函數后面同樣可以使用fromkeys方法;#fromkeys方法可以改變默認valueIn [42]: dict.fromkeys(['name', 'age'], '(unkown)')Out[42]: {'age': '(unkown)', 'name': '(unkown)'}get   get方法更寬松的訪問字典項的方法。訪問不存在的key時不會出錯,會打印NoneIn [49]: aOut[49]: {'age': 23, 'name': 'yantao'}In [50]: print a.get('test')NoneIn [51]: print a['test'] ---------------------------------------------------------------------------KeyError Traceback (most recent call last)<ipython-input-51-0e90ea7a3bb3> in <module>()----> 1 print a['test']KeyError: 'test'has_key   檢查key是否存在;也可以用 in 檢查In [52]: aOut[52]: {'age': 23, 'name': 'yantao'}In [53]: 'age' in aOut[53]: TrueIn [54]: a.has_key('age')Out[54]: Trueitems和iteritems   items返回的是列表,列表元素為(key, value)對的形式   iteritems返回的是迭代器對象In [68]: aOut[68]: {'age': 23, 'name': 'yantao'}In [69]: print a.items()[('age', 23), ('name', 'yantao')]In [70]: b = a.iteritems()In [71]: type(b)Out[71]: dictionary-itemiterator#list()函數訪問In [72]: list(b)Out[72]: [('age', 23), ('name', 'yantao')]In [73]: b.next()---------------------------------------------------------------------------StopIteration Traceback (most recent call last)<ipython-input-73-573a563d926b> in <module>()----> 1 b.next()StopIteration: # 使用next()方法訪問In [74]: b = a.iteritems()In [75]: b.next() Out[75]: ('age', 23)In [76]: b.next()Out[76]: ('name', 'yantao')In [77]: b.next()---------------------------------------------------------------------------StopIteration Traceback (most recent call last)<ipython-input-77-573a563d926b> in <module>()----> 1 b.next()StopIteration:

for循環結合items()可以使用序列解包這一個特定,分別打印出key,value,如下:

In [142]: a.items()Out[142]: [('age', 22), ('name', 'yantao')]In [143]: In [143]: for k,v in a.items(): .....: print k,v .....: age 22name yantao

keys和iterkeys   keys以列表的形式返回字典的key   iterkeys返回鍵的迭代器對象

values和itervalues   values以列表的形式返回字典的value   itervalues返回字典值的迭代器對象

pop   pop(key)方法根據給定的鍵移除給定的鍵-值對

popitem   隨機彈出字典項

setdefault   類似get()方法,但是如果查詢不到鍵,就會在字典中加入這個鍵,值為None。此外,可以改變默認值。

In [125]: aOut[125]: {'age': 23}In [126]: a.setdefault('age')Out[126]: 23In [127]: a.setdefault('name', 'yantao')Out[127]: 'yantao'In [128]: aOut[128]: {'age': 23, 'name': 'yantao'}In [129]: a.setdefault('job')In [130]: aOut[130]: {'age': 23, 'job': None, 'name': 'yantao'}update   update方法可以將一個字典更新到另外一個字典中去。即字典中加入另外一個字典中的key-valueIn [134]: a = dict(age=22)In [135]: b = dict(name='yantao')In [136]: aOut[136]: {'age': 22}In [137]: bOut[137]: {'name': 'yantao'}In [138]: a.update(b)In [139]: aOut[139]: {'age': 22, 'name': 'yantao'}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 德惠市| 城固县| 广州市| 海宁市| 博白县| 吉安市| 来凤县| 枞阳县| 甘南县| 岳阳市| 彭水| 织金县| 双柏县| 长子县| 凉山| 乐山市| 禹州市| 沂源县| 铁力市| 大宁县| 阜平县| 双流县| 阳原县| 尼勒克县| 高唐县| 囊谦县| 香港| 桂林市| 巴南区| 化州市| 汪清县| 巩留县| 酒泉市| 麻栗坡县| 北辰区| 紫阳县| 鹿泉市| 博爱县| 武威市| 巢湖市| 揭西县|