马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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': '吃饭了'}
复制代码
|