python中字典(dict)的常用操作

来源:互联网 发布:剑灵茱莉亚身体数据 编辑:程序博客网 时间:2024/05/16 00:43

python中字典(dict)的常用操作

# 字典创建dict1 = {'Alice': '2341', 'Bech': 9102, 'Cecll': '3258'}dict2 = {'abc': 456}dict3 = {'abc': 123, 98.6: 37}
# 访问并输出字典中某一个键值print dict1['Bech']print dict3[98.6]# 以列表形式返回字典中所有的键或键值print dict1.keys()print dict1.values()
910237['Bech', 'Cecll', 'Alice'][9102, '3258', '2341']
# 输出字典元素个数(长度)print len(dict1)# 返回变量类型(字典)type(dict1)
3dict
# 字典内容的添加和修改dict1['Meringue'] =9999dict1['Alice'] = 666print dict1
{'Bech': 9102, 'Cecll': '3258', 'Alice': 666, 'Meringue': 9999}
# 返回指定键的值,若不存在,返回指定的默认值print dict1.get('Alice','None')print dict1.get('Jack','None')# 查看字典中是否存在指定值,返回True或Falseprint dict1.has_key('Alice')print dict1.has_key('Jack')# 功能和get类似,但如果不存在指定键,则会添加该键并赋指定的初始值dict1.setdefault('Alice','None')print dict1dict1.setdefault('Jack','None')print dict1
666NoneTrueFalse{'Bech': 9102, 'Cecll': '3258', 'Alice': 666, 'Meringue': 9999}{'Bech': 9102, 'Cecll': '3258', 'Alice': 666, 'Meringue': 9999, 'Jack': 'None'}
# 删除字典中某一个元素del dict1['Cecll']print dict1# 清空整个字典(字典变为空字典)dict3.clear()print dict3# 删除字典(字典不再存在)del dict2print dict2 # 此时会报错
{'Bech': 9102, 'Alice': 666, 'Meringue': 9999, 'Jack': 'None'}{}--------------------------------------------------------------NameError                                 Traceback (most recent call last)<ipython-input-6-0c120f18cfe4> in <module>()      9 # 删除字典(字典不再存在)     10 del dict2---> 11 print dict2 # 此时会报错NameError: name 'dict2' is not defined
# 字典中键名不能重复,否则会覆盖dict4= {'a':1,'b':2,'c':3,'a':4}print dict4
{'a': 4, 'c': 3, 'b': 2}
# 字典的键不可变,可以为数字,字符或元祖,但不能用列表dict5 = {['a']:1, 'b':2, 'c':3}print dict5 # 此时会报错
--------------------------------------------------------------TypeError                                 Traceback (most recent call last)<ipython-input-8-cbdf7e62504e> in <module>()      1 # 字典的键不可变,可以为数字,字符或元祖,但不能用列表----> 2 dict5 = {['a']:1, 'b':2, 'c':3}      3 print dict5 # 此时会报错TypeError: unhashable type: 'list'
# 比较两个字典是否相同,相同返回0,不同返回-1dict6 ={'a':1, 'b':2};dict7 ={'a':1,'b':2}dict8 = {'a':1, 'b':3}print cmp(dict6,dict7)print cmp(dict6,dict8)
0-1
# 将dict10中所有键和键值添加到dict9中dict9 = {'a':1, 'b':2}dict10 = {'c':3, 'd':4}dict9.update(dict10)print dict9
{'a': 1, 'c': 3, 'b': 2, 'd': 4}
# 字典遍历dict11 = {'a':1, 'b':2, 'c':3, 'd':4}# 常规方法for key in dict11:    print (key,dict11[key])print '----------------------' # 迭代器方法 (注意下面三种输出的不同)for key, value in dict11.items():    print key,value # 依次输出建和键值for key, value in dict11.items():    print (key,value) # 元祖for key_value in dict11.items():    print key_value, type(key_value) # 元祖(与上一个方法等价)
('a', 1)('c', 3)('b', 2)('d', 4)----------------------a 1c 3b 2d 4('a', 1)('c', 3)('b', 2)('d', 4)('a', 1) <type 'tuple'>('c', 3) <type 'tuple'>('b', 2) <type 'tuple'>('d', 4) <type 'tuple'>
0 0
原创粉丝点击