一.字典是python语言中唯一的映射类型,映射哈希值 (键key) : 指向对象 (值value)。是一对多的关系。
1.1 创建字典和给字典赋值
创建一个字典只需要把 字典赋值给一个变量,不管这个字典包含不包含元素。
>>> dict = {} >>> print dict {} 逐一赋值: >>> dict[1] = "a" >>> dict[3] = 3.13 >>> dict['houzaicun'] = 15600289968 >>> dict["3"] = 33.13 >>> print dict {1: 'a', '3': 33.130000000000003, 3: 3.1299999999999999, 'houzaicun': 15600289968} 整体赋值: >>> info = {'1':'first','2':'second','3':'third'} >>> print info {'1': 'first', '3': 'third', '2': 'second'}
1.2 如何访问字典的值
看看有哪些方法吧 >>> dir ({}) ['__class__', '__cmp__', '__contains__', '__delattr__', '__delitem__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'has_key', 'items', 'iteritems', 'iterkeys', 'itervalues', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values'] 有个get 方法 试试吧哈哈 >>> info.get('2',‘error’) 'second' >>> 或者 >>> info['2'] 'second' sdict={'status\=sent':'ok', '[Uu]ser unknown':'user unknown', 'Sender address rejected':'Sender address rejected.', 'Recipient address rejected':'Recipient address rejected.', 'said\: 550 [Mm]ailbox':'Mailbox not found', 'said\: 550 Domain frequency limited':'Domainfrequenc limited', 'said\: 55[3-4]':'junk mail', '[uU]ser not exist':'user not exist.', 'said\: 550 User suspended':'User suspended', 'said\: 550 User not found':'User not found', 'said\: 550 No such user':'user not exist',} for key in sdict: statre = re.search(key,line) if statre is not None: status = sdict [key] else: pass 基本就这3个方法了
1.3 如何更新字典
如果已经得有的 key 就会更新没有就会添加。逐一赋值就是了增加了。
>>> dict[1] = "a" >>> dict[3] = 3.13 >>> dict['houzaicun'] = 15600289968 >>> print dict {1: 'a', 3: 3.1299999999999999, 'houzaicun': 15600289968} >>> dict["3"] = 33.13 >>> print dict {1: 'a', '3': 33.130000000000003, 3: 3.1299999999999999, 'houzaicun': 15600289968} >>> dict["3"] = 34 >>> print dict {1: 'a', '3': 34, 3: 3.1299999999999999, 'houzaicun': 15600289968} 应该update 方法也是更新的但是他是更新的什么? 答案:可以用来将一个新字典的内容添加到原有字典中 >>> print dict2 {'hou': 'zaicun'} >>> print dict {1: 'a', '3': 34, 3: 3.1299999999999999, 'houzaicun': 15600289968} >>> dict.update(dict2) >>> print dict {1: 'a', '3': 34, 3: 3.1299999999999999, 'hou': 'zaicun', 'houzaicun': 15600289968}
1.4 如何删除字典和字典元素
python的删除一般都是del 前面变脸的删除也是。以及后面的方法 和 函数。
del dict [1] #删除条目1
dict.clear() #清空字典dict
del dict 删除字典dict
dict.pop(1) 删除条目1 并且返回他的值
二.字典的操作符
2.1 标准操作符
< > and 和列表元组的基本一样。咋比较的呢后面提到?
2.2 关系操作符
[] 查询用的上面用到了 和get 方法一样。
in not in 这和列表元组用法也一样这里。 当然还有 方法一样的作用后面再提。