马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 向西而笑 于 2017-8-28 20:20 编辑
字典和列表元组相似如容器一样可以放入很多种的东西,但字典是映射类型(python中只有这一种映射类型),列表元组是序列类型。序列使用数字索引值找到相关的对象,字典用键(key)对应的值(value)找到想找的东西。
创建和访问字典字典由key、value和大括号组成,要访问则字典名[key]>>>ad = {'小甲鱼':'爬行动物','老虎':'哺乳动物','太阳花':'植物'}
>>>ad['老虎']
'哺乳动物'
>>>ad['小甲鱼']
'爬行动物'
创建一个空的字典可以用空的大括号表示。
用dict()来创建字典
创建一个空的字典:dict()
或者以某种对应关系创建一个字典:
例1:
>>>dict1 =dict(([1,'人族'],[2,'星灵'],[3,'异虫']))
>>>dict1
{1: '人族', 2: '星灵', 3: '异虫'}
>>>dict1[2]
'星灵'
例2:
>>>dict2 = dict(mk='山丘之王',dk='死亡骑士',tk='地精修补匠',dh='恶魔猎手')
>>>dict2
{'mk': '山丘之王', 'dk':'死亡骑士', 'tk': '地精修补匠', 'dh': '恶魔猎手'}
>>>dict2['dk']
'死亡骑士'
如果要在字典里替换某个key的值,这样做:dict[key]=你要赋的值,如果没有这个key则创建一个新的key
>>>dict2['dk'] = '阿尔萨斯'
>>>dict2
{'mk': '山丘之王', 'dk':'阿尔萨斯', 'tk': '地精修补匠', 'dh': '恶魔猎手'}
>>>dict2['nage'] = '娜迦'
>>> dict2
{'mk': '山丘之王', 'dk': '阿尔萨斯', 'tk':'地精修补匠', 'dh': '恶魔猎手', 'nage': '娜迦'}
字典的内置方法
D.fromkeys():语法:fromkeys(iterable,value=None) from builtins.type 创建一个新字典key从一个可迭代对象中读取,各项的value为你设置的值默认为空,如:>>>dict.fromkeys(((1,2,3)))
{1: None, 2:None, 3: None}
>>>dict.fromkeys([1,2,3],'哈')
{1: '哈', 2: '哈', 3: '哈'}
D.keys():返回所有键,通常和for配套使用,如:
>>>dict1 = dict.fromkeys(range(10),'赞')
>>>dict1
{0: '赞', 1: '赞', 2: '赞', 3: '赞', 4: '赞', 5: '赞', 6: '赞', 7: '赞', 8: '赞', 9: '赞'}
>>>for eachkey in dict1.keys():
print(eachkey)
0
1
2
3
4
5
6
7
8
9
D.value():用法和keys()一样返回所有value
D.items():用法依然一样,返回所有项,如: >>>for eachkey in dict1.items():
print(eachkey)
(0, '赞')
(1, '赞')
(2, '赞')
(3, '赞')
(4, '赞')
(5, '赞')
(6, '赞')
(7, '赞')
(8, '赞')
(9, '赞')
D.get():语法:get(key[,default])访问字典某个key的value,如果key不存在则返回一个指定的值(默认为空0),这样程序就不会直接报错停止运行。如:
>>>dict1.get(9)
'赞'
>>>dict1.get(10)
>>>dict1.get(10,'没有这个鬼东西')
'没有这个鬼东西'
>>>
成员资格操作符:利用in和not in可以确认某个key是否在字典里,不能查找value
D.claer():清空字典,移除字典里的所有项。这个和列表的clear是一样的。
D.pop():移除给定的key并返回它的value。如果不存在该key则返回设置的值,否则报错。如:
>>>dict1.pop(1)
'赞'
>>>dict1
{0: '赞', 2: '赞', 3: '赞', 4: '赞', 5: '赞', 6: '赞', 7: '赞', 8: '赞', 9: '赞'}
>>>dict1.pop(10)
Traceback(most recent call last):
File "<pyshell#35>", line 1,in <module>
dict1.pop(10)
KeyError: 10
>>>dict1.pop(10,'不存在')
'不存在'
D.popitem():移除并返回字典里的项:
>>>dict1
{0: '赞', 2: '赞', 3: '赞', 4: '赞', 5: '赞', 6: '赞', 7: '赞'}
>>>dict1.popitem()
(7, '赞')
>>>dict1
{0: '赞', 2: '赞', 3: '赞', 4: '赞', 5: '赞', 6: '赞'}
D.setdefault():创建一个新的项如果字典里没有的这项。
>>>dict1
{0: '赞', 2: '赞', 3: '赞', 4: '赞'}
>>>dict1.setdefault(10,'非常赞!')
'非常赞!'
D.update():用另一个字典来更新字典
>>>dict1
{0: '赞', 2: '赞', 3: '赞', 4: '赞', 10: '非常赞!'}
>>>dict2 = {'a':'吃饭了'}
>>>dict1.update(dict2)
>>>dict1
{0: '赞', 2: '赞', 3: '赞', 4: '赞', 10: '非常赞!', 'a': '吃饭了'}
|