字典属于无序可变序列。字典的键不可变不允许重复,字典的值可重复。
Hash ()用来判断一个对象是否可以作为字典的键,如果可以返回整数值,如果不可以,返回异常。
Get()方法用来判断一个键是否在字典中,如果在,返回键对应的值(此时没必要指定参数d,因为没意义),如果不在返回由参数指定的值,或者不指定参数,没有返回值。
Setdefault()方法,对在字典中的键,返回对应的值,参数的d设置无效,对于不在字典中的键,设置键和值,返回值,并且在字典中创建了一个新的键值对。参数d默认值为None。
Pop()方法,删除并返回键对应的值,当键不在字典中时,有参数d,返回参数d,无参数d,返回异常。
Popitem(),方法,从字典中随机删除一个键值对,并返回一个元组,删除是随机的。
字典的更新update(),当a.update(b,**c),当更新两个字典时候,第二个字典之前加上**。
如果不加**,则系统提示错误,只允许提供一个参数,拥护提供了两个参数。
字典更新时,当键相同时,新加入的字典值覆盖原字典值。
第二个字典**c 形式来自dict函数,而dict()函数是‘键 = 值’列表,键是标志符没有引号。
集合set(),空集是set(),而非{},这是空字典。
不可变集合frozenset()
| 并集操作符,或者使用union()方法,所有元素
A | B
& 交集操作符,或者使用intersection(),共同元素。
- 差补操作符,又相对补集操作符:difference()
A – B 所得集合的元素只属于A,不属于B。
^对称差分操作符,sysmmetric_difference
所得结果的元素仅属于A或者仅属于B,不能同时属于这两个集合。
如果以上A是可变集set(),B是不可变集合frozenset(),则谁在前面,所得结果的集合属于谁的那种集合类型。
字典中,不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住 。
seq = ('name', 'age', 'sex')
dict = dict.fromkeys(seq)
print "New Dictionary : %s" % str(dict)
dict = dict.fromkeys(seq, 10)
print "New Dictionary : %s" % str(dict)
以上实例输出结果为:
New Dictionary : {'age': None, 'name': None, 'sex': None}
New Dictionary : {'age': 10, 'name': 10, 'sex': 10}
dict = {'Name': 'Zara', 'Age': 27}
print "Value : %s" % dict.get('Age')
print "Value : %s" % dict.get('Sex', "Never")
以上实例输出结果为:
Value : 27
Value : Never