python 字典知识累积

**

python 字典的学习

**
字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示

d = {key1 : value1, key2 : value2 }

字典删除功能:

del dict['value'] #删除键是'value'的条目
dict.clear()      #清楚字典所有条目
del dict()        #删除字典 

字典内置函数和方法
Python字典包含了以下内置函数:

cmp(dict1,dict2)     #比较两个字典元素
len(dict)            #计算字段元素,即键的综合
str(dict)            #输出字典可打印的字符串表示
type(variable)       #返回输入的变量类型,如果变量是字典就返回字典类型    

python字典包含了一下内置方法:

1、adict.keys()                     # 返回一个包含字典所有KEY的列表;
2、adict.values()                   # 返回一个包含字典所有value的列表;
3、adict.items()                    # 返回一个包含所有(键,值)元祖的列表;
4、adict.clear()                    # 删除字典中的所有项或元素;
5、adict.copy()                     # 返回一个字典浅拷贝的副本;
6、adict.fromkeys(seq, val=None)    # 创建并返回一个新字典,以seq中的元素做该字典的键,val做该字典中所有键对应的初始值(默认为None);
7、adict.get(key, default = None)   # 返回字典中key对应的值,若key不存在字典中,则返回default的值(default默认为None);
8、adict.has_key(key)            # 如果key在字典中,返回True,否则返回False。现在用in、not in;
9、adict.iteritems()、adict.iterkeys()、adict.itervalues() # 与它们对应的非迭代方法一样,不同的是它们返回一个迭代子,而不是一个列表;
10、adict.pop(key[,default])        # 和get方法相似。如果字典中存在key,删除并返回key对应的vuale;如果key不存在,且没有给出default的值,则引发keyerror异常;
11、adict.setdefault(key, default=None)                   # 和set()方法相似,但如果字典中不存在Key键,由 adict[key] = default 为它赋值;
12、adict.update(bdict)             # 将字典bdict的键值对添加到字典adict中。 

文章来源:http://www.runoob.com/python/python-dictionary.html


adict={}    #初始化字典为空

字典的遍历

1 遍历字典的key(键)

for key in adict.keys():
    print key

2 遍历字典中的value值

for value in adict.values():
    print value

3 遍历字典的项

for item in adict.items():
    print item

4 遍历字典的key-value值

for item,value in adict.iteritems():
    print 'key=%s,value=%s'%(item,value)

使用字典的注意事项

1、不能允许一键对应多个值;
2、键必须是可哈希的
hash是一种函数映射,称为hash函数,y=hash_func(x),可hash就是指对于一个对象x有其对应的y。在python内部是通过字典key的hash值来对应内存中的value地址的,所以两个相同hash的key就表示同一个了,而不可hash的对象自然也不能作为字典的key。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值