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

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

《python基礎(chǔ)教程》筆記之字典

2019-11-14 17:22:04
字體:
供稿:網(wǎng)友
  • 字典創(chuàng)建

字典由多個(gè)鍵值對組成,每個(gè)鍵和對應(yīng)值之間用冒號隔開,項(xiàng)之間用逗號隔開,而整個(gè)字典用一對大括號括起來,如

>>> phonebook={'alice':'0123', 'Betch':'4567', 'Cecil':'7854'}
>>> phonebook
{'Betch': '4567', 'alice': '0123', 'Cecil': '7854'}

dict -- 通過其他映射、(鍵,值)這樣的序列對或者關(guān)鍵字建立字典,如

>>> items = [('name', 'gtum'), ('age', 42)]
>>> d = dict(items)
>>> d
{'age': 42, 'name': 'gtum'}
>>> d['age']
42
>>> d = dict(name='gtum', age=42)
>>> d
{'age': 42, 'name': 'gtum'}

  • 基本操作

len(d) -- 返回d中項(xiàng)(鍵值對)的數(shù)量

d[k] -- 返回關(guān)聯(lián)到鍵k上的值

d[k] = v -- 將值v關(guān)聯(lián)到鍵k上

del d[k] -- 刪除鍵為k的項(xiàng)

k in d -- 檢查d中是否含有鍵為k的項(xiàng)

字典與列表區(qū)別,如下

鍵類型: 字典的鍵可以為任何不可變類型

自動添加:即是那個(gè)鍵起初在字典中并不存在,也可以為它分配一個(gè)值

>>> x = {}
>>> x[42] = 'f'
>>> x
{42: 'f'}

成員資格:k in d查找的是鍵

#簡單數(shù)據(jù)庫#使用人名作為鍵的字典。每個(gè)人用另一個(gè)字典來表示,其鍵’phone‘和’addr‘分別表示他們的電話號碼和地址people={    'Alice':{        'phone':'2341',        'addr':'Foo drive 23'        },    'Beth':{        'phone':'9102',        'addr':'Bar Street 42'        },    'Cecil':{        'phone':'3158',        'addr':'Baz avenue 90'        }    }#針對電話號碼和地址使用的描述性標(biāo)簽,會在打印輸出的時(shí)候用到labels={    'phone':'phone number',    'addr':'address'    }name=raw_input('Name:')#查找電話號碼還是地址?使用正確的鍵:request=raw_input('key(p/a):')#使用正確的鍵:if request == 'p':key = 'phone'if request == 'a':ker = 'addr'#如果名字是字典中的有效鍵才打印信息if name in people : PRint "%s's %s is %s." %/   (name, labels[key], people[name][key])

結(jié)果

Name:Beth
key(p/a):p
Beth's phone number is 9102.

  •  字典格式化字符串

只以字符串作為鍵的字典來格式化字符串,如

>>> phonebook={'alice':'0123', 'Betch':'4567', 'Cecil':'7854'}
>>> "alice's phnoe is %(alice)s." % phonebook
"alice's phnoe is 0123."

  • 字典方法

clear -- 清楚字典中所有的項(xiàng),直接作用在原字典上

copy -- 返回一個(gè)具有相同鍵值對的薪資點(diǎn),淺拷貝

>>> x={'username':'admin','machines':['foo','bar']}
>>> y = x.copy()
>>> y['username'] = 'mlh'
>>> y['machines'].remove('foo')
>>> y
{'username': 'mlh', 'machines': ['bar']}
>>> x
{'username': 'admin', 'machines': ['bar']}

deecopy -- 深拷貝

fromkeys -- 使用給定的鍵建立新的字典,每個(gè)鍵默認(rèn)對應(yīng)的值為None,或者自己提供默認(rèn)值

>>> x = dict.fromkeys(['name', 'age'], 'un')
>>> x
{'age': 'un', 'name': 'un'}

get -- 訪問字典,訪問一個(gè)不存在的鍵時(shí),返回None,或者自定義默認(rèn)返回值

>>> x.get('it', 'n/a')
'n/a'

#使用get()的簡單數(shù)據(jù)庫people={    'Alice':{        'phone':'2341',        'addr':'Foo drive 23'        },    'Beth':{        'phone':'9102',        'addr':'Bar Street 42'        },    'Cecil':{        'phone':'3158',        'addr':'Baz avenue 90'        }    }#針對電話號碼和地址使用的描述性標(biāo)簽,會在打印輸出的時(shí)候用到labels={    'phone':'phone number',    'addr':'address'    }name=raw_input('Name:')#查找電話號碼還是地址?request=raw_input('key(p/a):')#使用正確的鍵:key = request #如果請求既不是'p'也不是'a'if request == 'p':key = 'phone'if request == 'a':key = 'addr'#使用get()提供默認(rèn)值person = people.get(name, {})label = labels.get(key, key)result = person.get(key, 'not available')print "%s's %s is %s." %/   (name, label, result)

結(jié)果如下

Name:Beth
key(p/a):a
Beth's address is Bar Street 42.

has_key -- 檢查字典中是否含有給出的鍵

items -- 將所有的字典項(xiàng)以列表方式返回,這些列表項(xiàng)中的每一項(xiàng)都來自(鍵,值)

iteritems -- 返回迭代器

keys -- 將字典中的鍵以列表形式返回

iterkeys -- 返回針對鍵的迭代器

pop -- 獲得對應(yīng)于給定鍵的值,然后將這個(gè)鍵值對從字典中移除

popitem -- 彈出隨機(jī)的項(xiàng)

setdefault -- 獲得與給定鍵相關(guān)聯(lián)的值,在字典中不含有給定鍵的情況下設(shè)定相應(yīng)的鍵值

>>> x={'username':'admin','machines':['foo','bar']}
>>> x.pop('username')
'admin'
>>> x={'username':'admin','machines':['foo','bar']}
>>> x.setdefault('hh', 'n/a')
'n/a'
>>> x
{'username': 'admin', 'hh': 'n/a', 'machines': ['foo', 'bar']}
>>> x['hh'] = 'hh'
>>> x.setdefault('hh', 'n/a')
'hh'
>>> x
{'username': 'admin', 'hh': 'hh', 'machines': ['foo', 'bar']}

update -- 利用一個(gè)字典項(xiàng)更新另外一個(gè)字典項(xiàng),提供的字典的項(xiàng)會被添加到舊的字典中,若有相同的鍵則會進(jìn)行覆蓋

>>> x={'username':'admin','machines':['foo','bar']}
>>> y={'hh':'haha'}
>>> x.update(y)
>>> x
{'username': 'admin', 'hh': 'haha', 'machines': ['foo', 'bar']}

values -- 以列表的形式返回字典中的值,列表中可以包含重復(fù)的元素

 


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 靖边县| 韶山市| 山丹县| 化隆| 务川| 五大连池市| 明光市| 赣州市| 繁峙县| 闸北区| 常德市| 临沂市| 古蔺县| 漳浦县| 泸州市| 鄄城县| 沅江市| 芦溪县| 雷州市| 耒阳市| 莒南县| 宁波市| 漳州市| 普安县| 沙坪坝区| 资兴市| 遵化市| 共和县| 枞阳县| 观塘区| 措勤县| 阜阳市| 河南省| 项城市| 汉阴县| 麻江县| 来安县| 浮梁县| 武夷山市| 新营市| 宁德市|