Python dict - zhongjiajie/zhongjiajie.github.com GitHub Wiki
序列是通过数据序号获得元素,dict是通过key获得元素.其中key可以是任何类型的不可变对象(string, number永远可以作为key,tuple如果只含有strings numbers tuples作为元素也可以作为key,但是如果含有可变对象就不能作为key),list作为可变对象不能作为key,因为他可以通过索引切片改变元素的值
应该把dict看作一个键值对,并且是key唯一的键值对.
- 最基本操作是使用键值储存和读取元素
- 可以通过
del d['key']
删除指定的key:value对 - 如果对已经存在的key赋值会用新值替换旧值
- 通过
'key' in dict
判断key在不在字典里面(或者not in
)) - 通过
list(dict)
查看字典的所有key - 通过
sorted(dict)
查看字典的所有key,且通过指定的规则排序
- 通过大括号:
d = {'one': 1, 'two': 2}
- 通过
dict
+赋值表达式方法创建:dict(one=1, two=2)
,注意此时string不用加引号(值适合key全部是string的时候) - 通过
dict
+有键值对的序列创建:dict([('one', 1), ('two', 2)])
,此时的string要加上引号 -
d = dict.fromkeys('k1', 'k2', 'k3')
: 根据key创建只有
d = {
"key1": "val1",
"key2": "val2"
}
pair = ["{0}={1}".format(k, v) for k, v in d.items()]
"/".join(pair)
# 用字典解析
# py2
res = dict((k,v) for k,v in kwargs.iteritems() if v is not None)
# py3
res = {k:v for k,v in kwargs.items() if v is not None}