标签:python
字典工厂函数:
x = {‘a‘:100,‘b‘:200,‘c‘:300}
字典索引: #显示没有顺序,不像列表和函数
print x[‘a‘]
100
字典方法:
删除:
x.pop(‘a‘) #需给出索引参数
print x
x.popitem() #不需要索引参数,随机删除
删除所有元素:
x.clear()
print x
输出:{}
items 和 iteritems输出字典中键-值
x.items() x.iteritems()
keys 和 iterkeys 输出字典中键
x.keys() x.iterkeys()
values 和 itervalues输出字典中值
x.values() x.itervalues()
get 获取字典中键-值(比较温和输出)
x.get(‘a‘)
输出:100
x.get(‘d‘)
没有输出
has_key 确认字典中是否有该键
x.has_key(‘a‘)
输出:True
x.has_key(‘d‘)
输出:False
fromkeys 给定的键建立新的字典
a = dict.fromkeys([‘name‘,‘age‘],(100))
setdefault 访问字典中键-值,如果没有增加该键,值默认为None
x.setdefault(‘e‘,100)
update更新列表,将某个列表中键-值加入到另一个列表键-值,重复去掉
x = {‘a‘:100,‘b‘:200,‘c‘:300}
z = {‘d‘:500,‘e‘:6000}
x.update(z)
print x
输出:{‘a‘: 100, ‘c‘: 400, ‘b‘: 200, ‘e‘: 6000, ‘d‘: 500}
字典浅拷贝: 如果键-一个值,不会改变原字典的值,如果键-多值(列表),此时会存在同时改变
z = x.copy()
print z
输出:{‘a‘:100,‘b‘:200,‘c‘:300}
z[‘c‘] = 400
print z
输出:{‘a‘: 100, ‘c‘: 400, ‘b‘: 200}
print x
输出:{‘a‘: 100, ‘c‘: 300, ‘b‘: 200}
x = {‘a‘: 100, ‘c‘: 300, ‘b‘: [600, 200]}
y = x.copy()
print y
输出:{‘a‘: 100, ‘c‘: 300, ‘b‘: [600, 200]}
y[‘b‘][0] = 300
print y
输出:{‘a‘: 100, ‘c‘: 300, ‘b‘: [300, 200]}
print x
输出:{‘a‘: 100, ‘c‘: 300, ‘b‘: [300, 200]}
这个时候需要用到深拷贝
from copy import deepcopy
y = x.deepcopy()
标签:python
原文地址:http://1839wo.blog.51cto.com/378615/1976852