python字典dictionary,以前有过介绍,现就几个不常用函数写测试例子,
字典声明如,a={};
[python]dictionary方法说明:参考:http://blog.csdn.net/wangran51/article/details/8440848
Operation |
Result |
Notes |
len(a) |
the number of items in a 得到字典中元素的个数
|
|
a[k] |
the item of a with key k 取得键K所对应的值
|
(1), (10) |
a[k] = v |
set a[k] to v 设定键k所对应的值成为v
|
|
del a[k] |
remove a[k] from a 从字典中删除键为k的元素
|
(1) |
a.clear() |
remove all items from a 清空整个字典
|
|
a.copy() |
a (shallow) copy of a 得到字典副本
|
|
k in a |
True if a has a key k, else False 字典中存在键k则为返回True,没有则返回False
|
(2) |
k not in a |
Equivalent to not k in a 字典中不存在键k则为返回true,反之返回False |
(2) |
a.has_key(k) |
Equivalent to k in a, use that form in new code 等价于k in a |
|
a.items() |
a copy of a‘s list of (key, value) pairs 得到一个键,值的list |
(3) |
a.keys() |
a copy of a‘s list of keys 得到键的list |
(3) |
a.update([b]) |
updates (and overwrites) key/value pairs from b从b字典中更新a字典,如果键相同则更新,a中不存在则追加 |
(9) |
a.fromkeys(seq[, value]) |
Creates a new dictionary with keys from seq and values set to value
|
(7) |
a.values() |
a copy of a‘s list of values |
(3) |
a.get(k[, x]) |
a[k] if k in a , else x |
(4) |
a.setdefault(k[, x]) |
a[k] if k in a , else x (also setting it) |
(5) |
a.pop(k[, x]) |
a[k] if k in a , else x (and remove k) |
(8) |
a.popitem() |
remove and return an arbitrary (key, value) pair |
(6) |
a.iteritems() |
return an iterator over (key, value) pairs |
(2), (3) |
a.iterkeys() |
return an iterator over the mapping‘s keys |
(2), (3) |
a.itervalues() |
return an iterator over the mapping‘s values |
(2), (3)
|
|
#字典的update:合并两个字典,无序
dict = {"a" : "apple", "b" : "banana"}
print dict
dict2 = {"c" : "grape", "d" : "orange"}
dict.update(dict2)
print dict
#udpate()的等价语句
D = {"key1" : "value1", "key2" : "value2"}
E = {"key3" : "value3", "key4" : "value4"}
for k in E:
D[k] = E[k]
print D
输出:
{‘key3‘: ‘value3‘, ‘key2‘: ‘value2‘, ‘key1‘: ‘value1‘, ‘key4‘: ‘value4‘}
#设置默认值
dict = {}
dict.setdefault("a")
print dict
dict["a"] = "apple"
dict.setdefault("a","default")
print dict
#调用sorted()排序
dict = {"a" : "apple", "b" : "grape", "c" : "orange", "d" : "banana"}
print dict
#按照key排序
print sorted(dict.items(), key=lambda d: d[0])
#按照value排序
print sorted(dict.items(), key=lambda d: d[1])
#字典的浅拷贝
dict = {"a" : "apple", "b" : "grape"}
dict2 = {"c" : "orange", "d" : "banana"}
dict2 = dict.copy()
print dict2
#字典的深拷贝
import copy
dict = {"a" : "apple", "b" : {"g" : "grape","o" : "orange"}}
dict2 = copy.deepcopy(dict)
dict3 = copy.copy(dict)
dict2["b"]["g"] = "orange"
print dict
dict3["b"]["g"] = "orange"
print dict