dict的基本使用:
由dict有木有想到dictionary?
下面直接举例子说明dict:
d =
{
'A' : 5,
'B' : 1,
'C' : 33
}
“{}”里就是一个dict了,注意这里使用 “{}” 而不是用 “[]” !!实在及记不住就把它看成C语言中的链表。‘A’、‘B’、‘C’称为dict的key,5、1、33称为value,dict是通过key来查找value的,关系是一一对应。“{}”里面的成员按照格式"key:value"写的,最后一个"key:value"的逗号可省
dit的大小可用
>>> len(d)
3
来获取,一个key:value算是一个
如何获取lict中的value?通过key来获取,为了避免出错一般先判断key是否存在或者用get方法,后者当key不存在会返回None
if ‘A’ in d:
print d['A']
>>>print d.get('A')
>5
>>>print d.get('H')
>None
如何对dict中的value进行迭代/其他操作呢?方法有二:
- 用values()函数
该函数可以将dict转换成含有value的list。其中转换意味着要给list分配内存。例子如下:
L = {'A':1, 'B':2, 'C':3}
print L.valuse()
#输出结果:
[1, 3, 2]
- 用 itervalues() 函数
该函数和values()函数使用以及效果都一样,区别是itervalues()不用转换因此不需要额外花时间去分配内存。这也是同等情况下不用values而用itervalues的原因。例子如下:
L = {'A':1, 'B':2, 'C':3} #
print L.itervalues()
#输出结果:
[1, 3, 2]
那么如何对dict中的key与value同时进行迭代/其他操作呢?方法也是有两种
这两种方法和只对value进行迭代的方法相比,用法和理解非常相似!
- 用items()函数
该函数可以将dict转换成含有tuple的list。其中转换意味着要给list分配内存。例子如下:
L = {'A':1, 'B':2, 'C':3} #
print L.items()
#输出结果:
[('A', 1), ('C', 3), ('B', 2)]
- 用itervalues()函数
这个函数和itervalues差不多,它不生成list。例子如下:
L = {'A':1, 'B':2, 'C':3} #
print L.itervalues()
#输出结果:
[('A', 1), ('C', 3), ('B', 2)]