python Dictionary字典使用

一、dictionary数据类型的结构是:{key1:value1, key2:value2, ...},即键值对。字典的健必须是不可更改的类型,如字符串、数字、元祖等;而值则可以是任意的数据类型,而且同一个字典当中可以混用数据类型,如:

?
1
d = { 'a' : 1 , 'b' :[ 1 , 2 , 3 ], 'c' :( 'hello' , 'world' )}

字典的key不可以重复。需要注意的一点是:字典是一个无序存储结构。

二、新建字典

新建一个空字典,例:d={}

新建一个非空字典,例:d={'a':'hello', 'b':'world'}

使用工厂函数dict,传入一个元素是列表的元祖作为参数来创建字典,例:

?
1
2
d=dict(([ 'a' , 'hello' ],[ 'b' , 'world' ]))
#返回{'a': 'hello', 'b': 'world'}

还有一种使用dict函数创建字典的方法,例:d=dict(x=1, y=2),返回d为{'x':1, 'y':2}

使用字典对象本身的fromkeys(s,[v])方法来创建一个字典,字典的健来自参数s,所有的值均为参数v的值,若参数v未给出则默认均为None,例:

?
1
2
d = {}.fromkeys(( 'a' , 'b' ), 1 )
#返回{'a': 1, 'b': 1}

三、访问字典

  1. 通过健来访问值,例:d[key]。可以通过key来引用value,但不可以通过value来引用key。读取不存在的key会引发异常,对不存在的key做赋值操作则会为字典增加一对键值。
  2. 遍历字典:for key in d.keys() 或者可以直接for key in d 来操作。
  3. d.keys()——返回一个包含所有键的list,需要注意该list并不按照字典定义的顺序输出。
  4. d.values()——返回一个包含所有值的list,值列表的元素顺序与键列表的顺序一致。
  5. d.items()——返回一个list,该list由形如(key, value)的tuple组成。
  6. d.copy——得到字典的一个浅拷贝。
  7. d.get(key)——若字典中有key则返回d[key],否则返回None。
  8. d.get(key,default)——同上,若无则返回default的值。
  9. d.has_key(key)——判断是否含有key,含有则返回True,否则False。
  10. 判断字典中是否存在某个键,还可以用"in","not in"操作符。

四、字典的增删改

  1. 增加字典元素——d['a']='hello'。
  2. 删除字典元素——del d['a']或者d.pop('a')。
  3. 清空字典元素——d.clear() 从一个字典中清除所有元素。
  4. 删除字典对象——del d
  5. 把字典a的元素加入到字典d当中,键重复时会覆盖字典d的键值——d.update(a)。
  6. 依顺序得到字典的一个键值对并删除,若字典是空的则抛出异常——d.popitem()
  7. 删除指定键的键值对,并返回该键对应的值,若键不存在则返回参数v——d.pop(key,[v])

ref:http://newliu.com/post/20/

更多参考:http://woodpecker.org.cn/diveintopython/native_data_types/index.html#odbchelper.dict

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值