代码使用python2.7
>>> d = {‘a‘:2,‘b‘:3,‘c‘:5}
>>> d
{‘a‘: 2, ‘c‘: 5, ‘b‘: 3}
>>> d = {}
>>> d[‘a‘] = 2
>>> d[‘b‘] = 3
>>> d[‘c‘] = 5
>>> d
{‘a‘: 2, ‘c‘: 5, ‘b‘: 3}
>>> d = dict(([‘a‘,2], [‘b‘,3], [‘c‘,5]))
{‘a‘: 2, ‘c‘: 5, ‘b‘: 3}
>>> d = {}.fromkeys((‘a‘,‘b‘,‘c‘), 2) # fromkeys() 方法将值都设为了2
{‘a‘: 2, ‘c‘: 2, ‘b‘: 2}
>>> d = {‘letter‘:{‘a‘:2, ‘b‘:3, ‘c‘:5},
‘number‘:[100,200,700],
‘character‘:(‘*‘, ‘&‘, ‘^‘),
‘others‘:‘happy‘}
>>> d
{‘character‘: (‘*‘, ‘&‘, ‘^‘), ‘number‘: [100, 200, 700], ‘letter‘:{‘a‘: 2, ‘c‘: 5, ‘b‘: 3}, ‘others‘: ‘happy‘}
直接添加:
>>> d = {‘a‘:2, ‘b‘:3}
>>> d
{‘a‘: 2, ‘b‘: 3}
>>> d[‘c‘] = 5
>>> d
{‘a‘: 2, ‘c‘: 5, ‘b‘: 3}
用 setdefault() 方法。
用 update() 方法。
如果是添加多个元素,可以先将其转化成字典,再利用字典合并。
用 del 命令:
>>> d = {‘a‘:2, ‘b‘:3, ‘c‘:5}
>>> del d[‘b‘]
>>> d
{‘a‘: 2, ‘c‘: 5}
>>> del d
>>> d
{}
用 pop() 方法。
用 clear() 方法删除所有元素。
>>> d = {‘c‘:3, ‘d‘:4, ‘b‘:5, ‘a‘:2}
>>> sorted(d.iteritems(), key = lambda asd:asd[0], reverse = False) #对键进行递增排序
[(‘a‘, 2), (‘b‘, 5), (‘c‘, 3), (‘d‘, 4)]
>>> sorted(d.iteritems(), key = lambda asd:asd[0], reverse = True) #对键进行递减排序
[(‘d‘, 4), (‘c‘, 3), (‘b‘, 5), (‘a‘, 2)]
>>> sorted(d.iteritems(), key = lambda asd:asd[1], reverse = False) #对值进行递增排序
[(‘a‘, 2), (‘c‘, 3), (‘d‘, 4), (‘b‘, 5)]
>>> sorted(d.iteritems(), key = lambda asd:asd[1], reverse = True) #对值进行递减排序
[(‘b‘, 5), (‘d‘, 4), (‘c‘, 3), (‘a‘, 2)]
利用items()方法获取所有元素,再将所有元素组成一个字典:
>>> d1 = {‘a‘:2, ‘b‘:3, ‘c‘:5}
>>> d2 = {‘a‘:10, ‘d‘:100}
>>> d = dict(d1.items() + d2.items())
>>> d
{‘a‘: 10, ‘c‘: 5, ‘b‘: 3, ‘d‘: 100}
利用 update() 方法(此方式比方式1快许多)。
>>> a1 = {‘a‘, ‘b‘, ‘c‘}
>>> a2 = {2, 3, 5}
>>> d = dict(zip(a1, a2))
>>> d
{‘a‘: 2, ‘c‘: 3, ‘b‘: 5}
>>> d2 = dict(map(lambda x,y:[x,y], a1, a2))
>>> d2
{‘a‘: 2, ‘c‘: 3, ‘b‘: 5}
clear() :清除字典中的所有元素。
>>> d = {‘a’:2, ‘b’:3, ‘c’:5}
>>> d.clear()
>>> d
{}copy() :复制字典的值,如果直接用 “=” 复制的是字典的地址。
>>> d = {‘a’:2, ‘b’:3, ‘c’:5}
>>> c = d.copy()
>>> c
{‘a’:2, ‘b’:3, ‘c’:5}fromkeys(seq,value=None) :根据列表(或元组)seq作为键新建一个字典,值统一设为value。
>>> mykeys = (‘a’, ‘b’, ‘c’)
>>> d = dict.fromkeys(mykeys)
>>> d
{‘a’: None, ‘c’: None, ‘b’: None}
>>> d = dict.fromkeys(mykeys, 2)
>>> d
{‘a’: 2, ‘c’: 2, ‘b’: 2}
get(key,default=None) :找到键key对应的值,如果不存在则返回default。
>>> d = {‘a’:2, ‘b’:3, ‘c’:5}
>>> d.get(‘b’)
3
>>> d.get(‘d’, 100)
100
has_key(key) :查询字典中是否含有键key,返回 True 或者 False
>>> d = {‘a’:2, ‘b’:3, ‘c’:5}
>>> d.has_key(‘a’)
True
items() :返回字典的元素。
>>> d = {‘a’:2, ‘b’:3, ‘c’:5}
>>> d.items()
[(‘a’, 2), (‘c’, 5), (‘b’, 3)]- iteritems():items()以列表的形式返回字典元素的键、值,而iteritems()以迭代器形式返回。python3已丢弃此方法。
- viewitems():效果如下。python3已丢弃此方法
>>> d = {‘a’:2, ‘b’:3, ‘c’:5}
>>> d.viewitems()
dict_items([(‘a’, 100), (‘c’, 5), (‘b’, 3), (‘d’, 200)])
keys() :返回字典的所有键。
>>> d = {‘a’:2, ‘b’:3, ‘c’:5}
>>> d.keys()
[‘a’, ‘c’, ‘b’]- iterkeys():keys()以列表的形式返回字典元素的键,而iterkeys()以迭代器形式返回。python3已丢弃此方法。
- viewkeys():效果如下。python3已丢弃此方法。
>>> d = {‘a’:2, ‘b’:3, ‘c’:5}
>>> d.viewitems()
dict_keys([‘a’, ‘c’, ‘b’, ‘d’])values() :返回字典的所有值
>>> d = {‘a’:2, ‘b’:3, ‘c’:5}
>>> d.values()
[2, 5, 3]- itervalues():values()以列表的形式返回字典元素的值,而itervalues()以迭代器形式返回。python3已丢弃此方法。
- viewvalues():效果如下。python3已丢弃此方法。
>>> d = {‘a’:2, ‘b’:3, ‘c’:5}
>>> d.viewitems()
dict_values([100, 5, 3, 200])
pop(key) :将key所对应的元素“出栈”,并返回该key对应的值。
>>> d = {‘a’:2, ‘b’:3, ‘c’:5}
>>> d.pop(‘b’)
3
>>> d
{‘a’: 2, ‘c’: 5}popitem() :将字典的第一个元素出栈,但是由于字典是无序的,所有popitem()具有一定的随机性。结果返回一个列表,包含出栈的键、值。
>>> d = {‘a’:2, ‘b’:3, ‘c’:5}
>>> d.popitem(‘b’)
(‘a’, 2)
>>> d
{‘c’: 5, ‘b’: 3}
setdefault(key,value) :查找字典中是否有键为key的元素,如果没有则添加一个元素,键为key,值为value。
>>> d = {‘a’:2, ‘b’:3}
>>> d.setdefault(‘c’,5) # d 中不含键 ‘c’,则添加一个键 ‘c’,值为5
>>> d
{‘a’: 2, ‘c’: 5, ‘b’: 3}
>>> d.setdefault(‘b’,5) #如果 d 中包含键 ‘b’,则不添加
>>> d
{‘a’: 2, ‘c’: 5, ‘b’: 3}
update(dict2) :将字典dict2中的元素更新到dict中去。
>>> d1 = {‘a’:2, ‘b’:3, ‘c’:5}
>>> d2 = {‘a’:10, ‘d’:100}
>>> d1.update(d2) #等价于 d1 = dict[d1, **d2]
>>> d1
{‘a’: 10, ‘c’: 5, ‘b’: 3, ‘d’: 100}
注:以上信息均为个人总结,如有缺漏、错误 或者任何有待完善的地方,欢迎指正!不胜感激!
版权声明:转载请注明出处,谢谢!
原文地址:http://blog.csdn.net/bone_ace/article/details/46955265