一.字典是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 这和列表元组用法也一样这里。 当然还有 方法一样的作用后面再提。
转载于:https://blog.51cto.com/hzcsky/964963