您的位置:首页 > 编程语言 > Python开发

映射类型 字典 (python)

2014-04-12 15:17 267 查看

映射类型 字典 (python)

1字典操作

1.1字典创建

>>> dict1={}
>>> dict2={'name':'earth','port':80}

>>> dict((['x',1],))
{'x': 1}
>>> {}.fromkeys(['x','y'],0)
{'y': 0, 'x': 0}

1.2字典访问

>>> for key in dict2:
    print key,dict2[key]

name earth
port 80

1.3字典更新

>>> dict2
{'name': 'earth', 'port': 80}

>>> dict2['name']='venus' #字典更新
>>> dict2
{'name': 'venus', 'port': 80}

>>> dict2['size']=5678   #字典新增
>>> dict2
{'size': 5678, 'name': 'venus', 'port': 80}

1.4字典删除

>>> del(dict2['size'])  #删除key为size的条目
>>> dict2
{'name': 'venus', 'port': 80}

>>> dict2.clear()       #删除dict2中的所有条目
>>> dict2
{}

>>> dict2={'size': 5678, 'name': 'venus', 'port': 80}
>>> dict2.pop('name')   #删除并返回key为name的条目
'venus'
>>> dict2    
{'port': 80, 'size': 5678}

>>> del dict2           #删除整个dict2
>>> dict2

Traceback (most recent call last):
  File "<pyshell#51>", line 1, in <module>
    dict2
NameError: name 'dict2' is not defined

1.5操作符[]

键查找操作符,它和序列类型里单一元素的切片操作符相似。对字典类型,用键做唯一参数进行查询。 >>> dict2['name'] 'earth'

1.6操作符in,not in

has_key()方法会在未来版本中弃用,推荐使用in/not in. >>> 'port' in dict2 True >>> 80 not in dict2 True

2内建函数

dict()
copy()       浅拷贝
clear()      删除所有元素
del()        删除某个元素,或者整个对象
pop(key[,default])

fromkeys(seq,val=None)
get(key,default=None)
has_key(key)
items()     返回键值对元组的列表
keys()      返回键的列表

setdefault(key,default=None)
dict.update(dict2)  将dict2的元素更新到dict中

3字典的键

字典中的值没有任何限制。可以是任何Python对象。但是字典中的键是有类型限制的。

3.1每个键只对应一个值

一个键对应多个值是不允许的,字典的键重复赋值时,取最后的赋值。

3.2键必须是可哈希的

所有不可变的类型都是可哈希的。

用元组做为有效的键,必须限制元组中只包含像数字字符串这样不可变的类型。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: